範例 5:格式化Real-Time追蹤會話
除了追蹤記錄檔之外,您還可以使用 Tracefmt 來格式化來自即時追蹤會話的追蹤訊息。
下列命令順序使用 Tracelog 和 Tracefmt。 第一個命令會使用 Tracelog 來啟動具有 Tracedrv 範例追蹤提供者的即時追蹤會話。 TraceDrv是專為軟體追蹤設計的範例驅動程式,可在 GitHub 上的 Windows 驅動程式範例 存放庫中取得。
tracelog -start MyTrace -guid tracedrv.ctl -flag 1 -rt
此命令會啟動名為 MyTrace 的追蹤會話。 它會使用 -guid 參數,使用其控制 GUID 檔案 tracedrv.ctl 來識別追蹤提供者Tracedrv.sys。 它會使用 -flag 參數,將 追蹤旗標 值設定為 1。 它會使用 -rt 參數來啟動追蹤會話,將訊息直接傳遞至追蹤取用者,例如 Tracefmt。 如果沒有 -rt 參數,追蹤提供者只會將訊息傳送至記錄檔。
下一個命令會使用 Tracefmt,在 MyTrace 追蹤會話期間格式化 Tracedrv 所產生的訊息。
tracefmt -rt MyTrace -p c:\tracing -o mytrace.txt
這個 Tracefmt 命令會使用 -rt 參數來識別即時追蹤會話 MyTrace 和 -p 參數,以指定Tracedrv.sys TMF 檔案所在的目錄。 -o參數會將輸出導向至本機目錄中的 mytrace.txt 檔案。
為了回應此命令,Tracefmt 會準備即時格式化追蹤訊息。 它會顯示下列狀態訊息,但不會返回命令提示字元:
c:\tracetools>tracefmt -rt mytrace -display -o mytrace.txt
Setting RealTime mode for mytrace
Getting guids from c:\tracetools\default.tmf
下列 Tracelog 命令會停止 MyTrace 追蹤會話。 您必須在不同的命令提示字元視窗中輸入命令。
tracelog -stop mytrace
當追蹤會話停止時,Tracefmt 會報告其將追蹤訊息寫入輸出檔,然後返回命令提示字元。
Event traces dumped to mytrace.txt
Event Summary dumped to mytrace.txt.sum