다음을 통해 공유


추적 코드에서 열거형을 사용할 수 있나요?

열거형을 사용하여 사용자가 디코딩해야 하는 정수 값을 표시하는 대신 추적 메시지에 의미 있는 용어를 표시할 수 있습니다.

예를 들어 코드에서 다음 열거형을 정의합니다.

#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