Ablaufverfolgungssitzung
Eine Ablaufverfolgungssitzung ist ein Zeitraum, in dem ein Ablaufverfolgungsanbieter Ablaufverfolgungsmeldungen generiert. Das System verwaltet eine Reihe von Puffern für die Ablaufverfolgungssitzung, um Ablaufverfolgungsmeldungen zu speichern, bis sie an ein Ablaufverfolgungsprotokoll oder einen Ablaufverfolgungs-Consumer übermittelt ("geleert") werden.
Es gibt drei grundlegende Arten von Ablaufverfolgungssitzungen: Ablaufverfolgungsprotokollsitzungen, Echtzeitablaufverfolgungssitzungen und gepufferte Ablaufverfolgungssitzungen. Eine einzelne Ablaufverfolgungssitzung kann eine Ablaufverfolgungsprotokollsitzung, eine Echtzeitablaufverfolgungssitzung oder beides sein. Gepufferte Ablaufverfolgungssitzungen sind exklusiv.
Darüber hinaus gibt es private Ablaufverfolgungssitzungen und reservierte Ablaufverfolgungssitzungen, z. B. die NT Kernel Logger-Ablaufverfolgungssitzung und die Globale Protokollierungsprotokollierungssitzung, die als Protokollsitzungen oder Echtzeitsitzungen ausgeführt werden können. Sie können die Standardtools verwenden, um diese Sitzungen zu steuern und die resultierenden Ablaufverfolgungsmeldungen anzuzeigen.
Ablaufverfolgungsprotokollsitzungen
In einer Ablaufverfolgungsprotokollsitzung werden Ablaufverfolgungsmeldungen aus den Ablaufverfolgungspuffern in eine Protokolldatei im Binärformat geschrieben. Dies ist der Standardtyp der Ablaufverfolgungssitzung.
Echtzeit-Ablaufverfolgungssitzungen
In einer Echtzeitablaufverfolgungssitzung werden die Ablaufverfolgungsmeldungen direkt an einen Ablaufverfolgungs-Consumer übermittelt, z. B. TraceView oder Tracefmt, anstatt oder zusätzlich an eine Protokolldatei gesendet zu werden.
Gepufferte Ablaufverfolgungssitzungen
In einer gepufferten Ablaufverfolgungssitzung verbleiben die Ablaufverfolgungsmeldungen im Ablaufverfolgungspuffer. sie werden nicht in ein Ablaufverfolgungsprotokoll geschrieben oder an einen Ablaufverfolgungsverbraucher übermittelt. Der Puffer wird wie eine Zirkeldatei verwaltet. Wenn sie voll ist, überschreiben die neuesten Ablaufverfolgungsmeldungen die ältesten Ablaufverfolgungsmeldungen im Puffer.
Gepufferte Ablaufverfolgungssitzungen werden nur unter Windows Vista und höheren Versionen von Windows unterstützt.
Obwohl die Softwareablaufverfolgung im Allgemeinen sehr wenig Mehraufwand verursacht, weisen gepufferte Ablaufverfolgungssitzungen den geringsten Mehraufwand aller Ablaufverfolgungssitzungstypen auf. Sie können eine lange Zeit nachverfolgen, und wenn etwas Interessantes auftritt, können Sie einen Debugger verwenden, um den aktuellen Pufferinhalt zu untersuchen oder den aktuellen Pufferinhalt in einem Ablaufverfolgungsprotokoll zu speichern.
Um die Ablaufverfolgungsmeldungen in einem Ablaufverfolgungspuffer anzuzeigen, verwenden Sie die spezialisierte Debuggererweiterung !wmitrace . Informationen zu dieser Erweiterung finden Sie unter Debuggen von Tools für Windows.
Um den Pufferinhalt in ein Ablaufverfolgungsprotokoll zu leeren, verwenden Sie den Parameter -f des Tracelog-Befehls -flush .
Verwenden Sie zum Starten einer gepufferten Ablaufverfolgungssitzung den Parameter -buffering des Befehls tracelog -start . Weitere Informationen finden Sie unter Ablaufverfolgungsbefehlsyntax.
Private Ablaufverfolgungssitzungen
Eine private Ablaufverfolgungssitzung ist eine Ablaufverfolgungssitzung, die im Benutzermodus als Teil des Benutzermodusprozesses ausgeführt wird, den sie nachverfolgt. (Standardablaufverfolgungssitzungen werden im Kernel ausgeführt.) Private Ablaufverfolgungssitzungen werden auch als Ablaufverfolgungssitzungen im Benutzermodus oder Als Prozessablaufverfolgungssitzungen bezeichnet.
Sie können mehrere private Ablaufverfolgungssitzungen gleichzeitig ausführen, aber sie können nur eine private Ablaufverfolgungssitzung in jedem Prozess ausführen.
Sie können keine Echtzeitablaufverfolgung einer privaten Ablaufverfolgungssitzung durchführen. Die Ablaufverfolgungsmeldungen müssen in ein Protokoll geschrieben werden.
Die Puffer, die in privaten Ablaufverfolgungssitzungen verwendet werden, sind immer auslagerungsfähig. Sie können für diese Puffer keinen ausgelagerten oder nicht ausgelagerten Speicher angeben.
Sie können die Ablaufverfolgungsmeldungen aus einer privaten Ablaufverfolgungssitzung nicht an den Debugger senden. Die WMI-Ablaufverfolgungserweiterung (!wmitrace) unterstützt keine privaten Ablaufverfolgungssitzungen.
Weitere Informationen zu Privaten Ereignisablaufverfolgungssitzungen finden Sie in der Microsoft Windows SDK-Dokumentation.