Tracefmt 命令
若要使用 Tracefmt,請在 [命令提示字元] 視窗中輸入命令。 下列語法會顯示 Tracefmt 命令的元素。
若要以可讀取的形式顯示追蹤訊息,Tracefmt 必須將追蹤訊息格式檔案中的格式化指示套用至追蹤訊息。 您使用的語法取決於您是否有追蹤提供者的TMF檔案,還是要Tracefmt建立TMF檔案。
若要提供TMF檔案或TMF檔案目錄的路徑:
tracefmt [EtlFile | -rt SessionName][-tmf TMFFile | -p TMFPath ] [Options]
若要建立TMF檔案:
tracefmt [EtlFile | -rt SessionName]-i ImageFiles [-r SymbolPath ] [-p TmfPath ] [Options]
若要在命令行顯示語法。
tracefmt -h | /?
參數
EtlFile
指定包含追蹤訊息的事件追蹤記錄檔 (.etl) 檔案。 輸入路徑 (選擇性) 和檔案名。 默認值為 c:\logfile.etl。
-rt SessionName
即時。 格式化來自指定之即時追蹤會話的追蹤訊息,而不是從 追蹤記錄檔。
SessionName 是追蹤會話的名稱。 預設值為 NT核心記錄器。
-tmf TMFFile
指定追蹤訊息格式 (.tmf) 檔案的路徑(選擇性)和檔名。 默認值為 Default.tmf,這是 WDK 中包含的檔案。
-我 ImageFiles
指示 Tracefmt 尋找指定之圖像檔案的 PDB 符號檔,並從 PDB 檔案中的格式化指示建立 TMF 檔案。
ImageFiles 代表追蹤提供者的一或多個二進位檔的路徑和檔名(.exe、.dll或.sys)。 使用分號 (;) 來分隔圖像檔名。
-r SymbolPaths
指定 -i 中所指定映射檔的私人 PDB 符號檔位置。
SymbolPath 代表 儲存私人符號或符號伺服器路徑之目錄的一或多個路徑。 使用分號 (;) 來分隔路徑名稱。 SymbolPaths 中的路徑名稱可以包含通配符,例如星號 → 來表示多個字元,以及代表單一字元的問號 (?)。
如果您在 命令中包含 -i ,但省略 -r,Tracepdb 會在 %_NT_SYMBOL_PATH% 環境變數所指定路徑中搜尋 PDB 檔案中的指定映像。 如果未設定環境變數,Tracepdb 會在預設符號路徑 srv*\\symbols\\symbols 中搜尋。
-p TMFPath
指定儲存TMF檔案之目錄的路徑。
在沒有 -i 的情況下使用 -p 時,Tracefmt 會在 -p 所指定的路徑中搜尋現有的TMF 檔案。 如果 省略 -p 追蹤fmt 會在 %TRACE_FORMAT_SEARCH_PATH% 環境變數的值中尋找TMF檔案,如果已設定。 否則,Tracefmt 會嘗試套用 Default.tmf 檔案中的格式設定指示。
當 -p 與 -i 搭配使用時,Tracefmt 會將它建立的TMF檔案放在 -p 所指定的目錄中。 如果 省略 -p,Tracefmt 會在設定 %TRACE_FORMAT_SEARCH_PATH% 環境變數的值所指定的目錄中放置TMF檔案。 否則,Tracefmt 會將檔案放在本機目錄中。
-h | /?
顯示說明。
-o OutputFile
指定 Tracefmt 輸出檔和 Tracefmt 摘要消息檔的替代名稱。 預設值為本機目錄中的FmfFile.txt (輸出檔)和 FmtSum.txt.sum (摘要檔案)。
OutputFile 是擴展名為 .txt 的路徑和檔名,例如 c:\traces\trace.txt。
如果您使用此參數搭配 -displayonly 或 -summaryonly 選項,它只會影響摘要消息檔。
-csv
將 Tracefmt 輸出檔案 格式化為逗號分隔的可變長度 (.csv) 檔案。 除了標準 追蹤訊息前置詞之外,此格式也會在每個訊息中新增詳細的結構化前置詞。
如果有任何,此選項會影響輸出檔案,以及命令提示字元視窗中追蹤訊息的顯示。
-csvheader
將描述性數據行標題的數據列新增至 CSV 檔案。 此標頭特別適用於解譯 Tracefmt 新增至 CSV 檔案的結構化前置詞。 根據預設,Tracefmt CSV 檔案沒有數據行標題。
-csvquote
將 CSV 檔案中的所有引號 (“) 加倍。 這項功能是專為只在以引號括住時顯示引號的應用程式所設計。
-顯示
除了將追蹤訊息寫入輸出檔案之外,也會在 [命令提示字元] 視窗中顯示追蹤訊息。
-displayonly
只會在 [命令提示字元] 視窗中顯示追蹤訊息,而且不會建立輸出檔案。
-nosummary
不會建立 摘要消息檔。
-summaryonly
只 建立摘要訊息檔案。 Tracefmt 不會建立 輸出檔案。
-noprefix
省略 追蹤訊息前置詞。 此選項會影響輸出檔中的追蹤訊息和 Tracefmt 顯示。
-雇傭
高解析度。 顯示追蹤訊息時間戳中的微秒數和奈秒數。 根據預設,只會顯示毫秒。
當追蹤訊息時間戳使用性能計數器時鐘值,而不是系統定時器時,請使用此選項,例如使用 Tracelog -UsePerfCounter 參數時。 如需 Tracelog 命令的相關信息,請參閱 Tracelog 命令語法。
-seq
顯示追蹤訊息前置詞中的本機或全域序號。 如果未在訊息中記錄序號,則字段未初始化,或以零或 “f” 填入。
-ods
將格式化的追蹤訊息傳送至調試程式以顯示。
-gmt
在格林威治標準時間(GMT)中顯示每個追蹤訊息上的時間戳。
此選項只會影響 Tracefmt 輸出檔案。 它不會轉換事件追蹤記錄檔 (.etl) 檔案中的時間戳。 當您提交 Tracefmt 命令時,就會顯示追蹤記錄的時區。
-utc
以國際標準時間 (UTC) 顯示每個追蹤訊息上的時間戳。 UTC 幾乎與 GMT 相同,但它以零表示午夜。
此選項只會影響 Tracefmt 輸出檔案。 它不會轉換事件追蹤記錄檔 (.etl) 檔案中的時間戳。 當您提交 Tracefmt 命令時,就會顯示追蹤記錄檔的時區。
-跟蹤
顯示追蹤動作發生時。 當格式不正確或 Tracefmt 回報錯誤或例外狀況時,這項資訊很有用。
追蹤顯示可能非常廣泛。 請考慮將 Tracefmt 輸出重新導向至文本檔,以供稍後檢查。
-v
Verbose。 在 [命令提示字元] 視窗中顯示詳細資訊,因為 Tracefmt 會處理追蹤訊息的每個區塊或緩衝區。 當您懷疑檔案損毀或不一致時,請使用此選項。
評論
尋找TMF檔案
如果您省略 -i 參數,Tracefmt 會使用下列方法來尋找TMF檔案。 這些方法會依 Tracefmt 使用這些方法的順序列出。
-tmf 參數。
-p 參數。
%TRACE_FORMAT_SEARCH_PATH% 環境變數。
Default.tmf,WDK 中包含的檔案。
如果 Tracefmt 找不到 TMF 檔案,或 TMF 檔案不包含追蹤訊息的格式資訊,Tracefmt 就無法顯示訊息。 相反地,它會寫入下列錯誤訊息來取代追蹤訊息
No Format Information found.
例外狀況引發
如果 Tracefmt 無法格式化追蹤訊息參數,則會引發例外狀況並顯示如下的訊息:
*****FormatMessage Header(Header) of EventTrace, parameter 23 raised an exception*****
如果您看到類似的例外狀況,請檢閱原始程式碼中的訊息定義,並特別注意任何使用者指定的變數類型。 如需詳細資訊,請參閱 DoTraceMessage。
具有非 GUID 檔名的TMF檔案
如果TMF檔名不是 訊息 GUID,您必須使用 -tmf 參數來識別檔案,並輸入檔案的完整路徑。
格式化NT核心記錄器追蹤訊息
若要格式化來自NT核心記錄器追蹤會話或全域記錄器追蹤會話的訊息,請使用 -tmf 參數來指定 system.tmf 檔案,這是 WDK 中包含的追蹤訊息格式檔案。
格式化來自即時追蹤會話的追蹤訊息
當您使用 -rt (即時) 參數時,Tracefmt 會顯示一則訊息,確認其處於即時模式,然後等候來自指定追蹤提供者的追蹤訊息。 在追蹤會話停止之前,它不會返回命令提示字元。
格式化 QPC 時間戳
Tracefmt 不會正確格式化系統性能計數器時鐘的值(QueryPerformanceCounter)。 如果您使用這個高解析度的時間,請使用 Windows 中包含的工具 Tracerpt 來格式化追蹤訊息。 如需詳細資訊,請參閱 Tracelog 命令語法中的 -UsePerfCounter 參數描述。
順序外追蹤訊息
如果您在執行 Windows XP 的電腦上檢視追蹤訊息檔案,顯示可能會顯示順序不一的追蹤訊息。 若要更正此問題,您可以在啟動追蹤會話並使用 Tracefmt 檢視追蹤時使用序號選項。 接著,您可以使用 Traceview 來檢視追蹤,並根據序號排序。 您也可以在執行 Windows Server 2003 或更新版本的 Windows 電腦上檢視追蹤。