기본 콘텐츠로 건너뛰기

C++ 디버깅용 매크로

C++ 디버깅시 함수 추적용 코드

#if defined(_DEBUG)
static int s_nEnableTraceModule = 1;
# define MODULE_TRACE \
if (s_nEnableTraceModule > 0) ATLTRACE(_T("%s(%d): %s[%d]\n"), __FILEW__, __LINE__, __FUNCTIONW__, ::GetTickCount());


class __auto_EnterTraceOff_LeaveTraceOn
{
public:
__auto_EnterTraceOff_LeaveTraceOn()
{
s_nEnableTraceModule *= -1;
}
~__auto_EnterTraceOff_LeaveTraceOn()
{
if(s_nEnableTraceModule != 0)
s_nEnableTraceModule = 1;
}
};

# define MODULE_TRACE_OFF_AND_AUTOON \
__auto_EnterTraceOff_LeaveTraceOn__tmp;
#else
# define MODULE_TRACE
# define MODULE_TRACE_OFF_AND_AUTOON
#endif
//MODULE_TRACE

함수 부분 시작하자 마자 'MODULE_TRACE' 를 한줄 삽입하면 됩니다.



댓글