Beispiel 16: Anzeigen von Ablaufverfolgungsmeldungen in einem Debugger
In diesem Beispiel wird gezeigt, wie Ablaufverfolgungsmeldungen an KD oder winDbg umgeleitet werden.
Vergewissern Sie sich vor dem Starten der Ablaufverfolgungssitzung, dass sich Wmitrace.dll und Traceprt.dll im Suchpfad des Debuggers auf dem Hostcomputer befinden. Diese DLLs sind in Debugtools für Windows im Verzeichnis \Programme\Debugging Tools for Windows\winxp enthalten. (Trotz des Verzeichnisnamens funktionieren die Dateien in Windows 2000 und höheren Versionen von Windows.)
Überprüfen Sie außerdem, ob sich die Ablaufverfolgungsnachrichtenformatdateien (TMF) für den Ablaufverfolgungsanbieter im Suchpfad des Debuggers befinden.
Verwenden Sie zum Festlegen des Suchpfads des Debuggers die spezialisierte Debuggererweiterung !wmitrace.searchpath, oder legen Sie den Wert der Umgebungsvariable %TRACE_FORMAT_SEARCH_PATH% fest. Beispiel:
set TRACE_FORMAT_SEARCH_PATH=c:\tracing
Starten Sie dann den Debugger. Wenn Sie einen Tracelog-Befehl mit dem Parameter -kd übermitteln und ein Debugger nicht ausgeführt wird, reagiert Tracelog nicht mehr ("hängt").
Der folgende Befehl startet eine Ablaufverfolgungssitzung und sendet die Ablaufverfolgungsmeldungen an KD oder an Windbg, je nachdem, welcher Wert angefügt ist.
tracelog -start MyTrace -guid MyProvider.ctl -rt -kd
Der Befehl tracelog -start enthält einen Sitzungsnamen zum Starten der Ablaufverfolgungssitzung. Es verwendet den -guid-Parameter , um die Anbieterdatei zu identifizieren. Außerdem wird der -rt-Parameter verwendet, um eine Echtzeitablaufverfolgungssitzung zu starten, sodass die Ablaufverfolgungsmeldungen an den Debugger und nicht an eine Protokolldatei gesendet werden.
Als Antwort meldet Tracelog, dass die Sitzung gestartet wurde. Wenn der Ablaufverfolgungsanbieter Nachrichten generiert, werden die Meldungen im Debugger angezeigt.
Verwenden Sie zum Anzeigen der Nachrichten im Debugger die WMI-Ablaufverfolgungserweiterungen. Weitere Informationen finden Sie unter Debuggen von Tools für Windows.