소스로 바로가는 TRACE
 

 1.요약

이전에 제가 LHCTRACE라고 해서 debug창에 trace된 내용을 더블클릭하면 소스의 위치로 찾아가는 매크로
를만든 적이 있습니다.(팁 게시판 참조)

하지만 이미 Visual C++의 CRT에 포함되어 있다는 걸 이제야 알았습니다.


2.본문

ANSI CRT에는 TRACE와 같은 기능이 없지만 Visual C++에는 _RPTn 들과 _RPTFn 들이 있습니다. 여기서 _RPTFn 을 주목할 필요가 있는데 _RPTFn 은 다음과 같은 형태의 매크로들을 말합니다.


_RPTF0(reportType, format);

_RPTF1(reportType, format, arg1);

_RPTF2(reportType, format, arg1, arg2);

_RPTF3(reportType, format, arg1, arg2, arg3);

_RPTF4(reportType, format, arg1, arg2, arg3, arg4);
 


reportType은 다음 값중 하나를 넣으시면 됩니다.
 


_CRT

_WARN _CRT

_ERROR _CRT_ASSERT
 


단순히 trace의 용도로 사용하신다면 _CRT_WARN을 사용하시면 됩니다.

나머지 인자들은 TRACE에 넣어주는 인자들과 동일합니다.

역시나 _DEBUG 버전에서만 효과를 발휘하는 매크로 입니다.

다음과 같이 사용하시면 됩니다.
 


#include
<crtdbg.h>

...

_RPTF2( _CRT_WARN, "하나만 더..%s %s", "주면 ", "안돼요? \n");
 

 

3.예제

4.참고  

Debugging Windows Programs, Strategies, Tools, and Techniques for Visual C++ Programmers p.133

- 2001.08.13 Smile Seo -