トレース コードで列挙を使用できますか?
列挙型を使用すると、ユーザーが解読する必要がある整数値を表示する代わりに、トレース メッセージ内で意味のある用語を表示できます。
たとえば、コードで次の列挙を定義します。
#define SPECIALDAY 0xF0000000
enum _wday {
sunday = 0,
monday = 55,
tuesday = 3,
wednesday = 1 | SPECIALDAY ,
thursday = 7 | SPECIALDAY,
friday = 5,
saturday = 6
};
トレース メッセージで列挙を使用するには、次の構成データをソース ファイルに追加します。 このコードは、列挙型のシンボル情報を抽出し、列挙型のログ値を表示するときに定義した名前を使用するように WPP に指示します。
// begin_wpp config
// CUSTOM_TYPE(dayset, ItemEnum(_wday) );
// end_wpp
その後、トレース メッセージの形式文字列で dayset カスタム タイプを使用できます。 次に例を示します。
_wday p = wednesday;
DoTraceMessage(NOISE " %!dayset!", p);
最後に、構成データを構成以外のファイル (.ini ファイル以外のファイル) に追加したため、WPP プリプロセッサを呼び出す RUN_WPP マクロに -scan パラメーターを追加します。 これにより、指定されたファイル内の構成データを検索するように WPP に通知されます。 次に例を示します。
RUN_WPP -scan:trace.c