共用方式為


控制 .NET Framework 日誌記錄

您可以使用 Windows 事件追蹤 (ETW) 來記錄 Common Language Runtime (CLR) 事件。 您可以使用下列工具來建立與檢視追蹤:

若要擷取 CLR 事件資訊,必須在您的電腦上安裝 CLR 提供者。 若要確認已安裝提供者,請在命令提示字元輸入 logman query providers 。 隨即顯示提供者清單。 此清單應包含 CLR 提供者的項目,如下所示。

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

如果未列出 CLR 提供者,您可以使用 Windows Wevtutil 命令行工具,將它安裝在 Windows Vista 和更新版本的作系統上。 以系統管理員身分開啟 [命令提示字元] 視窗。 將提示目錄變更為 .NET Framework 4 資料夾 (%WINDIR%\Microsoft.NET\Framework[64]\v4.<。NET 版本>\ 。 此資料夾包含 CLR-ETW.man 檔案。 在命令提示字元中,輸入下列命令以安裝 CLR 提供者:

wevtutil im CLR-ETW.man

擷取 CLR ETW 事件

您可以使用 LogmanXperf 命令行工具來擷取 ETW 事件,以及 TracerptXperf 工具來譯碼追蹤事件。

若要開啟記錄,用戶必須指定三件事:

  • 要與提供者溝通。

  • 代表一組關鍵詞的64位數位。 每個關鍵詞都代表提供者可以開啟的一組事件。 數字代表要啟動的結合關鍵詞組。

  • 小數值表示要記錄的等級(詳細程度)。 層級 1 是最不詳細的,層級 5 是最詳細的。 層級 0 是預設值,其意義為提供者特定。

使用 Logman 擷取 CLR ETW 事件

  1. 在命令提示字元中,輸入:

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

    地點:

    • 參數 -p 會識別提供者 GUID。

    • 0x1CCBD 會指定將引發的事件類別。

    • 0x5 設定記錄層級(在此案例中為詳細資訊(5))。

    • 參數 -ets 會指示 Logman 將命令傳送至事件追蹤會話。

    • -ct perf 參數指定將使用 QueryPerformanceCounter 函式來記錄每個事件的時間戳。

  2. 若要停止記錄事件,請輸入:

    logman stop clrevents -ets

    此命令會建立名為 clrevents.etl 的二進位追蹤檔案。

使用 Xperf 擷取 CLR ETW 事件

  1. 在命令提示字元中,輸入:

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

    其中 GUID 是 CLR ETW 提供者 GUID,0x1CCBD:5 追蹤層級 5 及以下的所有項目(詳細)。

  2. 若要停止追蹤,請輸入:

    Xperf -stop clr

    此命令會建立名為 clrevents.etl 的追蹤檔案。

檢視 CLR ETW 事件

使用下列命令來檢視 CLR ETW 事件。 如需事件的描述,請參閱 CLR ETW 事件

使用 Tracerpt 檢視 CLR ETW 事件的方法

  • 在命令提示字元中,輸入:

    tracerpt clrevents.etl

    這個指令會建立兩個檔案:dumpfile.xml 和 summary.txt。 dumpfile.xml 檔案會列出所有事件,summary.txt 提供事件的摘要。

使用 Xperf 檢視 CLR ETW 事件

  • 在命令提示字元中,輸入:

    xperf clrevents.etl

    此命令會開啟 Xperf ETL 檔案檢視器。 在此查看器中,CLR 事件會顯示在 [一般事件 ] 檢視中。 若要顯示依類型分類的事件數據格,請選取此檢視中的時間區域,然後按下滑鼠右鍵,然後選取 [ 摘要]。

將 .etl 檔案轉換成逗號分隔值檔案

  • 在命令提示字元中,輸入:

    xperf -i clrevents.etl -f clrevents.csv

    此命令會讓 XPerf 將事件輸出成您可以檢視的逗號分隔值 CSV 檔案。 因為不同的事件有不同的欄位,因此此 CSV 檔案在數據之前包含一個以上的標頭行。 每一行的第一個字段是事件類型,表示應該使用哪一個標頭來判斷其餘欄位。

另請參閱