トレース メッセージ プレフィックス
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 のフレンドリ名を変更するには、Tracewpp または RUN_WPP マクロで -pパラメーターを使用します。 詳細については、Run_WPP オプションを参照してください。 |
2% |
string |
ソース ファイルと行番号。 この変数は、トレース メッセージのフレンドリ名を表します。 既定では、トレース メッセージのフレンドリ名は、ソース ファイルの名前と、トレース メッセージを生成したコードの行番号です。 |
%3 |
ULONG |
スレッド ID。 トレース メッセージを生成したスレッドを識別します。 |
4% |
string |
トレース メッセージが生成された時刻のタイムスタンプ。 |
5% |
string |
カーネル時間。 トレース メッセージが生成された時点でのカーネル モード命令の実行経過時間を CPU ティック単位で表示します。 |
%6 |
string |
ユーザー時間。 トレース メッセージが生成された時点でのユーザー モード命令の実行経過時間を CPU ティック単位で表示します。 |
7% |
LONG |
連番。 トレース メッセージのローカルまたはグローバル シーケンス番号を表示します。 ローカル シーケンス番号 (このトレース セッションでのみ一意) が既定です。 |
8% |
ULONG |
プロセス ID。 トレース メッセージを生成したプロセスを識別します。 |
%9 |
ULONG |
CPU 番号。 トレース メッセージが生成された CPU を識別します。 |
%!FUNC! |
string |
関数名。 トレース メッセージを生成した関数の名前を表示します。 |
%!FLAGS! |
string |
トレース メッセージを有効化するトレース フラグの名前を表示します。 (DoTraceMessage マクロはフラグとレベルの引数を逆にするため、DoTraceMessage によって生成されたメッセージは、このフィールドにトレース レベルの値を表示します) |
%!LEVEL! |
string |
トレース メッセージを有効化するトレース レベルの値を表示します。 (DoTraceMessage マクロはフラグとレベルの引数を逆にするため、DoTraceMessage によって生成されたメッセージは、このフィールドにトレース フラグの名前を表示します) |
%!COMPNAME! |
string |
コンポーネント名。 トレース メッセージを生成したプロバイダーのコンポーネントの名前を表示します。 コンポーネント名は、トレース コードで指定されている場合にのみ表示されます。 |
%!SUBCOMP! |
string |
サブコンポーネント名。 トレース メッセージを生成したプロバイダーのサブコンポーネントの名前を表示します。 コンポーネント名は、トレース コードで指定されている場合にのみ表示されます。 |
感嘆符内のシンボルは、変数の書式設定と精度を指定する変換文字です。 たとえば、%8!04X! です。 これは、4 桁の符号なし 16 進数として表されたプロセス ID を指定します。 必ず、これらの変換文字を含める必要があります。
トレース メッセージ プレフィックスの要素、順序、書式設定を変更するには、%TRACE_FORMAT_PREFIX% 環境変数を使用します。 例については、「例 7: トレース メッセージ プレフィックスのカスタマイズ」を参照してください。
TMF ファイル内のコンテンツの例については、「tracedrv サンプルのトレース メッセージの書式設定」を参照してください。
また、-csv パラメーターは、標準の Tracefmt プレフィックスの前に、構成不可能な詳細なプレフィックスを各トレース メッセージに追加します。 CSV プレフィックス内のフィールドの説明については、-csvheader パラメーターを使用します。