|
TRACE("출력 하고 싶은 메시지: %s", "없음" ); // printf 처럼 파라미터 지정 가능
이런 식으로 원하는 위치에 코드를 작성하면 Event Log 창에 출력이 됩니다.
디버깅 할 때 매우 유용합니다.
릴리즈 모드로 컴파일하면 자동으로 코드가 컴파일에서 빠지게 되고요.
저도 예전에는 TRACE 안 쓰고 그냥 Watch List 등록해서 쓰고 그랬는데, DX 프로그래밍 하다보니까 전체화면에서 Break Point 잡가기 껄끄러워서 썼더니 매우 편하더군요 ^^; 듀얼 모니터로 전체화면 모드가 아닌 모니터에 띄워 놓으면 정보가 바로바로 화면에 보이니까요...
어쟀든 답변대로 속성창을 확인해보니 Event Log 창에 메시지별 색깔도 커스터마이징 할 수 있게 되어 있네요. 역시 빌더는 좋은 툴입니다. ^^
아래는 TRACE 코드
#ifdef _DEBUG
inline void TRACE(char* szMessage, ...)
{
char szDebugMsg[2048];
va_list va;
va_start(va, szMessage);
vsprintf(szDebugMsg, szMessage, (va_list)va);
va_end(va);
OutputDebugString(szDebugMsg);
}
inline void TRACEW(wchar_t* szMessage, ...)
{
wchar_t szDebugMsg[2048];
va_list va;
va_start(va, szMessage);
vswprintf(szDebugMsg, szMessage, (va_list)va);
va_end(va);
OutputDebugStringW(szDebugMsg);
}
#else
#define TRACE(...)
#define TRACEW(...)
#endif
|