Windows Tips & News

DTrace ist jetzt unter Windows verfügbar

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimieren

Das nächste Windows 10-Funktionsupdate (19H1, April 2019 Update, Version 1903) wird DTrace, das beliebte Open-Source-Debugging- und Diagnosetool, unterstützen. Es wurde ursprünglich für Solaris entwickelt und wurde für Linux, FreeBSD, NetBSD und macOS verfügbar. Microsoft hat es auf Windows portiert.

Werbung

DTrace ist ein dynamisches Tracing-Framework, das es einem Administrator oder Entwickler ermöglicht, einen Echtzeit-Einblick in ein System entweder im Benutzer- oder Kernelmodus zu erhalten. DTrace verfügt über eine leistungsstarke Programmiersprache im C-Stil, mit der Sie Trace-Punkte dynamisch einfügen können. Mithilfe dieser dynamisch eingefügten Ablaufverfolgungspunkte können Sie nach Bedingungen oder Fehlern filtern, Code zur Analyse von Sperrmustern schreiben, Deadlocks erkennen usw.

Unter Windows erweitert DTrace die Ereignisablaufverfolgung für Windows (ETW), die statisch ist und nicht die Möglichkeit bietet, Ablaufverfolgungspunkte zur Laufzeit programmgesteuert einzufügen.

Alle von dtrace.sys verwendeten APIs und Funktionen sind dokumentierte Aufrufe.

Dtrace unter Windows

Microsoft hat einen speziellen Treiber für Windows 10 implementiert, der die Ausführung einer Reihe von Systemüberwachungsrollen ermöglicht. Der Treiber wird in Windows 10 Version 1903 enthalten sein. Außerdem erfordert DTrace derzeit, dass Windows mit einem aktivierten Kernel-Debugger gestartet wird.

Der Quellcode für das portierte DTrace-Tool ist auf GitHub verfügbar. Besuchen Sie die Seite „DTrace unter Windows“ unter dem OpenDTrace-Projekt auf GitHub, um es zu sehen.

Inhaltverstecken
DTrace in Windows 10 einrichten
Verwenden von DTrace

DTrace in Windows 10 einrichten

Voraussetzungen für die Nutzung der Funktion

  • Windows 10 Insider bauen 18342 oder höher
  • Nur verfügbar auf x64 Windows und erfasst Ablaufverfolgungsinformationen nur für 64-Bit-Prozesse
  • Windows-Insider-Programm ist aktiviert und konfiguriert mit gültigem Windows-Insider-Konto
    • Besuchen Sie Einstellungen->Update & Sicherheit->Windows-Insider-Programm für Details

Anweisungen:

  1. BCD-Konfigurationsset:
    1. bcdedit /set dtrace on
    2. Beachten Sie, dass Sie die Option bcdedit erneut festlegen müssen, wenn Sie auf einen neuen Insider-Build aktualisieren
  2. Herunterladen und installieren Sie das DTrace-Paket von Download-Center.
    1. Dadurch werden die Benutzermoduskomponenten, Treiber und zusätzliche Feature-on-Demand-Pakete installiert, die für die Funktionsfähigkeit von DTrace erforderlich sind.
  3. Optional: Aktualisieren Sie die Umgebungsvariable PATH einschließen C:\Programme\DTrace
    1. set PATH=%PATH%;"C:\Programme\DTrace"
  4. Aufstellen Symbolpfad
    1. Erstellen Sie ein neues Verzeichnis zum lokalen Zwischenspeichern von Symbolen. Beispiel: mkdir c:\symbols
    2. Satz _NT_SYMBOL_PATH=srv*C:\Symbole*http://msdl.microsoft.com/download/symbols
    3. DTrace lädt automatisch die erforderlichen Symbole vom Symbolserver herunter und speichert sie in den lokalen Pfad.
  5. Optional:Kernel-Debugger einrichten Verbindung zum Zielrechner (MSDN-Link). Das ist nur erforderlich, wenn Sie Kernel-Ereignisse mit FBT oder anderen Anbietern verfolgen möchten.
    1. Beachten Sie, dass Sie Secureboot und Bitlocker auf C: deaktivieren müssen (falls aktiviert), wenn Sie einen Kernel-Debugger einrichten möchten.
  6. Neustart Zielmaschine

Verwenden von DTrace

  1. Öffne ein erhöhte Eingabeaufforderung.
  2. Führen Sie einen der folgenden Befehle aus:
    # Syscall-Zusammenfassung nach Programm für 5 Sekunden: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Timer-Setzen/Programm abbrechen für 3. zusammenfassen Sekunden: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process Kernelstruktur: (erfordert Symbolpfad zu eingestellt werden) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Tracing Pfade durch NTFS beim Ausführen von notepad.exe (erfordert KD a

Der Befehl dtrace -lvn syscall listet alle Sonden und ihre Parameter auf, die vom Systemrufanbieter verfügbar sind.

Im Folgenden sind einige der unter Windows verfügbaren Anbieter und ihre Instrumente aufgeführt.

  • Systemaufruf – NTOS-Systemaufrufe
  • fbt (Function Boundary Tracing) – Kernel-Funktionseintrag und Rückgabe
  • pid – Prozessverfolgung im Benutzermodus. Wie FBT im Kernel-Modus, ermöglicht aber auch die Instrumentierung beliebiger Funktions-Offsets.
  • etw (Ereignisablaufverfolgung für Windows) – Ermöglicht die Definition von Probes für ETW Dieser Anbieter hilft dabei, vorhandene Betriebssysteminstrumentierung in DTrace zu nutzen.
    • Dies ist eine Erweiterung von DTrace, um alle Informationen, die Windows bereits bereitstellt, verfügbar zu machen und zu erhalten ETW.

Weitere für Windows-Szenarien anwendbare Beispielskripte finden Sie hier Probenverzeichnis.

Quelle: Microsoft

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimieren
Sticky Notes 3.1 soll Insider mit Dark Mode überspringen

Sticky Notes 3.1 soll Insider mit Dark Mode überspringen

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimierenM...

Weiterlesen

Kumulative Updates für Windows 10 14. Mai 2019

Kumulative Updates für Windows 10 14. Mai 2019

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimierenM...

Weiterlesen

Haftnotizen für Windows 10 erhalten Verbesserungen der Benutzerfreundlichkeit

Haftnotizen für Windows 10 erhalten Verbesserungen der Benutzerfreundlichkeit

1 AntwortMicrosoft veröffentlicht eine neue Version der Sticky Notes-App für Fast Ring-Insider. M...

Weiterlesen