追蹤訊息前置詞
Tracefmt 會將前置詞新增至每個追蹤訊息,其中包含 儲存在事件追蹤記錄檔 (.etl) 檔案 中的資料,以及 追蹤訊息格式 (.tmf) 檔案。
Tracefmt 預設包含特定的資料元素,但使用者可以變更 %TRACE_FORMAT_PREFIX% 環境變數來新增和移除元素,這是指定與 FormatMessage相容的訊息定義字串。
預設追蹤訊息前置詞的格式如下:
[%9!d!]%8!04X!.%3!04X!::%4!s! [%1!s!]
會產生下列前置詞:
[CPUNumber]ProcessID.ThreadID :: SystemTime [MessageGUIDFriendlyName]
每個 %n 變數都代表下表所述的參數。
前置詞變數識別碼 | 變數類型 | 描述 |
---|---|---|
%1 |
string |
追蹤 訊息之訊息 GUID 的易記名稱。 根據預設,訊息 GUID 的易記名稱是建立 追蹤提供者 的目錄名稱。 若要變更訊息 GUID 的易記名稱,請使用 -p 參數搭配 Tracewpp 或 RUN_WPP 宏。 如需詳細資訊,請參閱Run_WPP選項。 |
%2 |
string |
原始程式檔和行號。 這個變數代表追蹤訊息的易記名稱。 根據預設,追蹤訊息的易記名稱是來源檔案的名稱,以及產生追蹤訊息的程式程式碼號。 |
%3 |
ULONG |
執行緒識別碼。 識別產生追蹤訊息的執行緒。 |
%4 |
string |
產生追蹤訊息之時間的時間戳記。 |
%5 |
string |
核心時間。 在產生追蹤訊息時,在 CPU 刻度中顯示核心模式指令經過的執行時間。 |
%6 |
string |
使用者時間。 在產生追蹤訊息時,以 CPU 刻度顯示使用者模式指令的經過執行時間。 |
%7 |
LONG |
序號。 顯示追蹤訊息的本機或全域序號。 只有這個追蹤會話唯一的本機序號是預設值。 |
%8 |
ULONG |
進程識別碼。 識別產生追蹤訊息的進程。 |
%9 |
ULONG |
CPU 號碼。 識別產生追蹤訊息的 CPU。 |
%!FUNC! |
string |
函式名稱。 顯示產生追蹤訊息的函式名稱。 |
%!標誌! |
string |
顯示啟用追蹤訊息的 追蹤旗標 名稱。 (因為 DoTraceMessage 宏會反轉旗標和層級引數,所以 DoTraceMessage 所產生的訊息會顯示此欄位中 追蹤層級 的值。) |
%!水準! |
string |
顯示啟用追蹤訊息的 追蹤層級 值。 (因為 DoTraceMessage 宏會反轉旗標和層級引數,所以 DoTraceMessage 所產生的訊息會顯示此欄位中 追蹤旗 標的名稱。) |
%!COMPNAME! |
string |
元件名稱。 顯示產生追蹤訊息之提供者元件的名稱。 只有在追蹤程式碼中指定元件名稱時才會出現。 |
%!SUBCOMP! |
string |
子元件名稱。 顯示產生追蹤訊息之提供者的子元件名稱。 只有在追蹤程式碼中指定元件名稱時才會出現。 |
驚嘆號內的符號是指定變數格式和精確度的轉換字元。 例如,%8!04X! 指定以四位數無符號十六進位數位表示的進程識別碼。 必須包含這些轉換字元。
若要變更追蹤訊息前置詞的專案、順序或格式,請使用 %TRACE_FORMAT_PREFIX% 環境變數。 如需範例,請參閱 範例 7:自訂追蹤訊息前置詞。
如需 TMF 檔案中內容的範例,請參閱格式化來自 tracedrv 範例的追蹤訊息。
此外, -csv 參數會在標準 Tracefmt 前置詞之前,將不可設定的詳細前置詞新增至每個追蹤訊息。 如需 CSV 前置詞中欄位的描述,請使用 -csvheader 參數。