Freigeben über


Ablaufverfolgungssitzung

Eine Tracing-Sitzung ist ein Zeitraum, in dem ein Tracing-Anbieter Meldungen generiert. Das System verwaltet eine Reihe von Puffern für die Ablaufverfolgungssitzung, um Ablaufverfolgungsmeldungen zu speichern, bis sie an ein Ablaufverfolgungsprotokoll oder einen Ablaufverfolgungsanwender übermittelt ("geleert") werden.

Es gibt drei grundlegende Typen von Ablaufverfolgungssitzungen: Protokollierungssitzungen, 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 Logger-Ablaufverfolgungssitzung, 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.

Überwachungsprotokollsitzungen

In einer Ablaufverfolgungsprotokollsitzung werden Ablaufverfolgungsmeldungen aus den Ablaufverfolgungspuffern in eine Protokolldatei im Binärformat geschrieben. Dies ist der Standard- und Voreinstellungstyp der Ablaufverfolgungssitzung.

Real-Time Trace-Sitzungen

In einer Echtzeitablaufverfolgungssitzung werden die Ablaufverfolgungsmeldungen direkt an einen Verbraucher gesendet, wie TraceView oder Tracefmt, anstatt an eine Protokolldatei, oder zusätzlich dazu.

Gepufferte Trace-Sitzungen

In einer gepufferten Ablaufverfolgungssitzung verbleiben die Ablaufverfolgungsmeldungen im Ablaufverfolgungspuffer; sie werden nicht in ein Ablaufverfolgungsprotokoll geschrieben oder an einen Ablaufverfolgungsanwender ü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 Aufwand verursacht, weisen gepufferte Ablaufverfolgungssitzungen den geringsten Aufwand aller Ablaufverfolgungssitzungstypen auf. Sie können lange Zeit nachverfolgen und dann, wenn etwas Interessantes auftritt, einen Debugger verwenden, um den aktuellen Pufferinhalt zu untersuchen oder den aktuellen Pufferinhalt in einem Ablaufverfolgungsprotokoll zu speichern.

Verwenden Sie die spezielle Debuggererweiterung !wmitrace, um die Ablaufverfolgungsmeldungen in einem Ablaufverfolgungspuffer anzuzeigen. Informationen zu dieser Erweiterung finden Sie unter Debugtools für Windows.

Verwenden Sie um den Pufferinhalt in ein Ablaufverfolgungsprotokoll zu übertragen, den Parameter -f des Befehls tracelog -flush.

Verwenden Sie zum Starten einer gepufferten Ablaufverfolgungssitzung den Parameter -buffering des tracelog -start-Befehls. Weitere Informationen finden Sie unter Tracelog Command Syntax.

Private Ablaufverfolgungssitzungen

Eine private Ablaufverfolgungssitzung ist eine Sitzung, die im Benutzermodus als Teil des Prozesses, den sie verfolgt, ausgeführt wird. (Standard-Trace-Sitzungen laufen im Kernel.) Private Trace-Sitzungen werden auch als Benutzermodus-Trace-Sitzungen oder Prozess-Trace-Sitzungen 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 Echtzeitverfolgung einer privaten Sitzung durchführen. Die Ablaufverfolgungsmeldungen müssen in ein Protokoll geschrieben werden.

Die in privaten Ablaufverfolgungssitzungen verwendeten Puffer sind immer auslagerbar. Sie können für diese Puffer keinen seitenseitigen oder nicht seitenseitigen Arbeitsspeicher angeben.

Sie können die Ablaufverfolgungsmeldungen nicht aus einer privaten Ablaufverfolgungssitzung an den Debugger senden. Die WMI-Tracing-Erweiterung (!wmitrace) unterstützt keine privaten Tracingsitzungen.

Weitere Informationen zu privaten Ereignisablaufverfolgungssitzungen finden Sie in der Microsoft Windows SDK-Dokumentation.