您可以使用 Windows 事件追蹤 (ETW) 來記錄 Common Language Runtime (CLR) 事件。 您可以使用下列工具來建立與檢視追蹤:
Windows Performance Toolkit 中的 Xperf 工具。 如需 Xperf 的詳細資訊,請參閱 Windows 效能部落格。
若要擷取 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 事件
您可以使用 Logman 和 Xperf 命令行工具來擷取 ETW 事件,以及 Tracerpt 和 Xperf 工具來譯碼追蹤事件。
若要開啟記錄,用戶必須指定三件事:
要與提供者溝通。
代表一組關鍵詞的64位數位。 每個關鍵詞都代表提供者可以開啟的一組事件。 數字代表要啟動的結合關鍵詞組。
小數值表示要記錄的等級(詳細程度)。 層級 1 是最不詳細的,層級 5 是最詳細的。 層級 0 是預設值,其意義為提供者特定。
使用 Logman 擷取 CLR ETW 事件
在命令提示字元中,輸入:
logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf地點:
參數
-p會識別提供者 GUID。0x1CCBD會指定將引發的事件類別。0x5設定記錄層級(在此案例中為詳細資訊(5))。參數
-ets會指示 Logman 將命令傳送至事件追蹤會話。-ct perf參數指定將使用QueryPerformanceCounter函式來記錄每個事件的時間戳。
若要停止記錄事件,請輸入:
logman stop clrevents -ets此命令會建立名為 clrevents.etl 的二進位追蹤檔案。
使用 Xperf 擷取 CLR ETW 事件
在命令提示字元中,輸入:
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl其中 GUID 是 CLR ETW 提供者 GUID,
0x1CCBD:5追蹤層級 5 及以下的所有項目(詳細)。若要停止追蹤,請輸入:
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 檔案在數據之前包含一個以上的標頭行。 每一行的第一個字段是事件類型,表示應該使用哪一個標頭來判斷其餘欄位。