次の方法で共有


トレース コードで列挙を使用できますか?

列挙型を使用すると、ユーザーが解読する必要がある整数値を表示する代わりに、トレース メッセージ内で意味のある用語を表示できます。

たとえば、コードで次の列挙を定義します。

#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