추적 코드에서 열거형을 사용할 수 있나요?
열거형을 사용하여 사용자가 디코딩해야 하는 정수 값을 표시하는 대신 추적 메시지에 의미 있는 용어를 표시할 수 있습니다.
예를 들어 코드에서 다음 열거형을 정의합니다.
#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