Freigeben über


Steuerung der Protokollierung im .NET Framework

Sie können die Ereignisablaufverfolgung für Windows (ETW) verwenden, um Common Language Runtime (CLR)-Ereignisse aufzuzeichnen. Sie können Ablaufverfolgungen mit den folgenden Tools erstellen und anzeigen:

Um CLR-Ereignisinformationen zu erfassen, muss der CLR-Anbieter auf Ihrem Computer installiert sein. Um zu bestätigen, dass der Anbieter installiert ist, geben Sie logman query providers an der Eingabeaufforderung ein. Es wird eine Liste der Anbieter angezeigt. Diese Liste sollte wie folgt einen Eintrag für den CLR-Anbieter enthalten.

Provider                                 GUID
-------------------------------------------------------------------------------
.NET Common Language Runtime    {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}.

Wenn der CLR-Anbieter nicht aufgeführt ist, können Sie ihn unter Windows Vista und höheren Betriebssystemen mit dem Befehlszeilentool Windows Wevtutil installieren. Öffnen Sie das Eingabeaufforderungsfenster als Administrator. Wechseln Sie in der Eingabeaufforderung in das Verzeichnis für den .NET Framework 4-Ordner (%WINDIR%\Microsoft.NET\Framework[64]\v4.<.NET-Version>\). Dieser Ordner enthält die Datei CLR-ETW.man. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um den CLR-Anbieter zu installieren:

wevtutil im CLR-ETW.man

Erfassen von CLR-ETW-Ereignissen

Sie können die Befehlszeilentools Logman und Xperf verwenden, um ETW-Ereignisse zu erfassen, und die Tracerpt - und Xperf-Tools zum Decodieren der Ablaufverfolgungsereignisse.

Um die Protokollierung zu aktivieren, muss ein Benutzer drei Dinge angeben:

  • Der Anbieter, mit dem kommuniziert werden soll.

  • Eine 64-Bit-Zahl, die eine Reihe von Schlüsselwörtern darstellt. Jedes Schlüsselwort stellt eine Reihe von Ereignissen dar, die der Anbieter aktivieren kann. Die Zahl stellt eine kombinierte Gruppe von Schlüsselwörtern dar, die aktiviert werden sollen.

  • Eine kleine Zahl, die die Ebene (den Ausführlichkeitsgrad) der Protokollierung darstellt. Ebene 1 ist die am wenigsten ausführlichste, und Ebene 5 ist die ausführlichste. Ebene 0 ist ein Standardwert, dessen Bedeutung anbieterspezifisch ist.

So erfassen Sie CLR ETW-Ereignisse mit Logman

  1. Geben Sie an der Eingabeaufforderung Folgendes ein:

    logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf

    wo:

    • Der -p Parameter identifiziert die Anbieter-GUID.

    • 0x1CCBD Gibt die Kategorien von Ereignissen an, die ausgelöst werden.

    • 0x5 legt die Ebene der Protokollierung fest (in diesem Fall "Ausführlich" (5)).

    • Der -ets Parameter weist Logman an, Befehle an Ereignisablaufverfolgungssitzungen zu senden.

    • Der -ct perf Parameter gibt an, dass die QueryPerformanceCounter Funktion verwendet wird, um den Zeitstempel für jedes Ereignis zu protokollieren.

  2. Um die Protokollierung der Ereignisse zu beenden, geben Sie Folgendes ein:

    logman stop clrevents -ets

    Mit diesem Befehl wird eine binäre Ablaufverfolgungsdatei mit dem Namen "clrevents.etl" erstellt.

So erfassen Sie CLR ETW-Ereignisse mit Xperf

  1. Geben Sie an der Eingabeaufforderung Folgendes ein:

    xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl

    Dabei ist die GUID die GUID des CLR-ETW-Anbieters, und 0x1CCBD:5 verfolgt sämtliche Vorgänge auf und unterhalb von Ebene 5 (Ausführlich).

  2. Geben Sie Folgendes ein, um die Ablaufverfolgung zu beenden:

    Xperf -stop clr

    Mit diesem Befehl wird eine Datei mit der Verlaufsaufzeichnung namens "clrevents.etl" erstellt.

Anzeigen von CLR-ETW-Ereignissen

Verwenden Sie die unten aufgeführten Befehle, um die CLR ETW-Ereignisse anzuzeigen. Eine Beschreibung der Ereignisse finden Sie unter CLR ETW-Ereignisse.

So zeigen Sie CLR ETW-Ereignisse mithilfe von Tracerpt an

  • Geben Sie an der Eingabeaufforderung Folgendes ein:

    tracerpt clrevents.etl

    Mit diesem Befehl werden zwei Dateien erstellt: dumpfile.xml und summary.txt. In der datei dumpfile.xml werden alle Ereignisse aufgelistet, und summary.txt enthält eine Zusammenfassung der Ereignisse.

So zeigen Sie CLR ETW-Ereignisse mit Xperf an

  • Geben Sie an der Eingabeaufforderung Folgendes ein:

    xperf clrevents.etl

    Mit diesem Befehl wird der XPerf ETL-Datei-Viewer geöffnet. In diesem Viewer werden die CLR-Ereignisse in der Ansicht "Allgemeine Ereignisse " angezeigt. Wenn Sie ein Datenraster von Ereignissen anzeigen möchten, die nach Typ kategorisiert sind, wählen Sie in dieser Ansicht einen Zeitraum aus, und klicken Sie dann mit der rechten Maustaste, und wählen Sie " Zusammenfassung" aus.

So konvertieren Sie die ETL-Datei in eine durch Trennzeichen getrennte Wertdatei

  • Geben Sie an der Eingabeaufforderung Folgendes ein:

    xperf -i clrevents.etl -f clrevents.csv

    Dieser Befehl bewirkt, dass XPerf die Ereignisse als CSV-Datei (Kommagetrennte Werte) abbilden kann, die Sie anzeigen können. Da unterschiedliche Ereignisse unterschiedliche Felder aufweisen, enthält diese CSV-Datei mehrere Kopfzeilen vor den Daten. Das erste Feld jeder Zeile ist der Ereignistyp, der angibt, welche Kopfzeile verwendet werden soll, um den Rest der Felder zu bestimmen.

Siehe auch