共用方式為


範例 7:自訂追蹤訊息前置詞

每個追蹤訊息的開頭都是追蹤 訊息前置詞 ,由追蹤訊息的相關資料所組成。 追蹤訊息前置詞的格式會儲存在 %TRACE_FORMAT_PREFIX% 環境變數中。 藉由變更環境變數的值,您可以自訂追蹤訊息前置詞,以最實用格式顯示追蹤訊息所需的資料。 預設追蹤訊息前置詞中的變數,以及您可以在追蹤訊息前置詞中使用的所有變數,都會在追蹤訊息前置詞主題中說明。

下列顯示顯示預設追蹤訊息前置詞。 追蹤訊息是由 Tracedrv 所產生,這是 Windows 驅動程式套件中已啟用追蹤的範例驅動程式, (WDK) 。

[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]IOCTL = 1
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 1 Hi
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 2 Hi
...

預設前置詞的格式如下。

[%9!d!]%8!04X!.%3!04X!::%4!s! [%1!s!]

,表示下列資料:

[CPUNumber]ProcessID.ThreadID::SystemTime [MessageGUIDFriendlyName]

其中 MessageGUIDFriendlyName 預設為建立追蹤提供者的目錄名稱。

若要建立新的追蹤訊息前置詞,請使用 set 命令來重 %TRACE_FORMAT_PREFIX% 環境變數的值。 例如,

set TRACE_FORMAT_PREFIX=%2!s!: %!FUNC!: %8!04x!.%3!04x!: %4!s!:

此命令會設定下列格式的追蹤訊息前置詞:

SourceFile_LineNumber: FunctionName: ProcessID.ThreadID: SystemTime 

因此,Tracefmt 輸出會使用新的追蹤訊息前置詞,如下列顯示所示:

tracedrv_c258: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  IOCTL = 1
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 1 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 2 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 3 Hi

...

注意 如果您要在命令或批次檔中設定追蹤前置詞,其中百分比符號代表命令列參數的變數,請使用前置詞變數的兩個連續百分比符號。 例如,若要在前置詞中包含系統時間,請輸入 %%4