Tools für die Softwareablaufverfolgung
Das Microsoft Windows Driver Kit (WDK) enthält eine Reihe von Anwendungen und Befehlszeilentools für die Softwareablaufverfolgung. Diese Tools wurden entwickelt, um die Ereignisablaufverfolgung für Windows (ETW) zu unterstützen und die in Windows enthaltenen Ablaufverfolgungstools zu ergänzen.
- Was sind die Ablaufverfolgungstools?
- Wann sollte ich die WPP-Softwareablaufverfolgung oder die Ereignisablaufverfolgung für Windows (ETW)-API verwenden?
- Informationen in diesem Abschnitt
Was sind die Ablaufverfolgungstools?
Die Tools umfassen Ablaufverfolgungscontroller , die Ablaufverfolgungssitzungen konfigurieren, starten, aktualisieren und beenden, sowie Ablaufverfolgungsconsumer , die während der Sitzungen generierte Ablaufverfolgungsnachrichten empfangen und die Binärdaten in ein für Menschen lesbares Format für Dateien oder Anzeigen konvertieren.
Die Tools unterstützen eine Vielzahl von Ablaufverfolgungsanbietern, einschließlich Benutzermodusanwendungen und Kernelmodustreibern, die mit WPP-Softwareablaufverfolgung oder Ereignisablaufverfolgung für Windows (ETW) für die Softwareablaufverfolgung instrumentiert werden. Einen Vergleich der beiden Ansätze zur Instrumentierung Ihres Codes finden Sie unter Wann sollte die WPP-Softwareablaufverfolgung und Ereignisablaufverfolgung für Windows (ETW) verwendet werden.
Die Tools können auch auf reservierte Ablaufverfolgungssitzungen zugreifen, die in Windows integriert sind, z. B. dieNT Kernel Logger-Ablaufverfolgungssitzung / der globalen Protokollierung.
Einige dieser Tools befinden sich im Unterverzeichnis tools\<Platform> des Windows Driver Kit (WDK), wobei <Platform> entweder x86 oder x64 ist. Andere Tools sind entweder in Windows enthalten oder befinden sich im Unterverzeichnis bin\<Platform> des WDK.
Wann sollte ich die WPP-Softwareablaufverfolgung oder die Ereignisablaufverfolgung für Windows (ETW)-API verwenden?
Verwenden Sie die WPP-Softwareablaufverfolgung , wenn Sie hauptsächlich Ablaufverfolgungsdaten für Entwicklungs- und Debugzwecke sammeln möchten. Verwenden Sie die Ereignisablaufverfolgung für Windows (ETW) für andere Ablaufverfolgungstypen.
WPP-Softwareablaufverfolgung | Manifested/TraceLogging ETW |
---|---|
Unterstützt unter Windows 2000 und höher. | Unterstützt unter Windows Vista und höher. |
Ablaufverfolgungsereignisse für Entwicklung und Debuggen. Hauptsächlich interner Entwicklerfokus. | Ablaufverfolgung von Ereignissen für administrative, betriebliche, analytische und Debugzwecke. |
Benötigt TMF-Dateien, um die Ereignisse zu decodieren, die aus dem PDB der Protokollierungsbinärdatei extrahiert werden. | Die Metadaten zum Decodieren der Ereignisse sind in einer lokalen Binärdatei oder in der Ereignisnutzlast enthalten. |
Kann nur eine aktive Sitzung pro Ablaufverfolgungsanbieter sein. | Ereignisse können an mehrere Consumer multiplexed werden. |
Nachrichtenzeichenfolgen können nicht lokalisiert werden. | Zeichenfolgen können lokalisiert werden. |
Die Anbietersicherheit ist darauf beschränkt, die Zum Aktivieren bzw. Decodieren der Ereignisse erforderlichen Steuerelement-GUID- oder TMF-Dateien nicht gemeinsam zu nutzen. | Anbieter können ACLs anwenden lassen, um einzuschränken, welche Benutzer Ereignisse daraus sammeln können. |
Informationen zur Verwendung von Windows-WPP-Makros (Software Trace Preprocessor) zum Hinzufügen der Softwareablaufverfolgung zu einem Treiber oder einer Anwendung finden Sie unter WPP-Softwareablaufverfolgung.
Informationen zur Verwendung der ETW-API im Kernelmodus für Treiber finden Sie unter Ereignisablaufverfolgung für Windows (ETW).
Informationen zur Verwendung der WMI-Erweiterungen (Windows Management Instrumentation) für das Windows-Treibermodell (WDM) zum Hinzufügen der Softwareablaufverfolgung zu jedem Treiber finden Sie unter WMI-Ereignisablaufverfolgung.
Hinweis ETW und WPP unterstützen die meisten Arten von Kernelmodustreibern und Benutzermodusanwendungen. ETW und WPP verwenden jedoch Typen, die für bestimmte Treibertypen nicht verfügbar sind, z. B. Miniporttreiber. Um zu bestimmen, ob ein bestimmter Treibertyp unterstützt wird, fügen Sie dem Treiber grundlegende WPP-Makros hinzu, z. B. WPP_INIT_TRACING und WPP_CLEANUP. Wenn der Code nicht kompiliert wird, weil die verwendeten Typen nicht definiert sind, können ETW und WPP den Treibertyp nicht unterstützen.
Informationen in diesem Abschnitt
Dieser Abschnitt beginnt mit einer Übersicht über Softwareablaufverfolgungstools, erläutert die Konzepte, die den Tools zugrunde liegen, und enthält dann die Dokumentation der Softwareablaufverfolgungstools im WDK.
Dieser Abschnitt umfasst Folgendes:
Umfrage der Softwareablaufverfolgungstools
Konzepte von Ablaufverfolgungstools
Ablaufverfolgung während des Startvorgangs
Häufig gestellte Fragen zur Softwareablaufverfolgung
Ereignisablaufverfolgung für Windows (ETW)
Leistungsüberwachung im Kernelmodus
Konzeptionelle Informationen zur Ereignisablaufverfolgung finden Sie in der Microsoft Windows SDK-Dokumentation.