Windows Tips & News

DTrace ist jetzt unter Windows verfügbar

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

Das nächste Windows 10-Feature-Update (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 Ablaufverfolgungspunkte 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 /dtrace einschalten
    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. Öffnen Sie 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 Probes und deren Parameter auf, die vom Syscall-Provider 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 Funktionsoffsets.
  • etw (Ereignisablaufverfolgung für Windows) – Ermöglicht das Definieren von Probes für ETW Dieser Anbieter hilft bei der Nutzung vorhandener Betriebssysteminstrumentierung in DTrace.
    • Dies ist eine Erweiterung, die wir DTrace hinzugefügt haben, um es zu ermöglichen, 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
Windows 10 Build 17744 veröffentlicht (Fast Ring)

Windows 10 Build 17744 veröffentlicht (Fast Ring)

Hinterlasse eine AntwortEin weiterer Build aus dem 'Redstone 5'-Zweig ist für Fast Ring Insiders ...

Weiterlesen

Academy_of_Sciences_Fishes_v1.3 Winamp-Skin

Diese Website verwendet Cookies, um Ihre Erfahrung beim Navigieren durch die Website zu verbesser...

Weiterlesen

Download SP_1 Skin für Winamp herunterladen

Diese Website verwendet Cookies, um Ihre Erfahrung beim Navigieren durch die Website zu verbesser...

Weiterlesen