2008. 5. 28. 11:51

DEBUGMSG를 release모드에서 출력하기



BSP의 소스 내용을 보면, 디버그 메시지를 뿌려주는 부분이 대부분 DEBUGMSG()로 되어있는 것을 볼 수있다.
이것은 커널을 디버그(debug)모드로 빌드를 했을 때 볼 수 있는 디버깅 메시지이다. 하지만, 보통 디버그 모드 보다는 릴리즈(release)모드로 빌드를 하기 때문에 이 디버깅 메시지를 확인 할 수 없다.

작업을 하다 보면 디버깅 메시지를 확인해야 할 필요가 많이 있다. 그렇다구 해서 일일이 DEBUGMSG()RETAILMSG()로 바꾸어 빌드하는 것두 곤욕이다.
이럴 때 다음과 같은 방법을 사용하면 될 듯 하다.
뭐.. 공공연하게 많이 사용되는 방법이긴 하지만.. 그래도 팁이라고 ... -_-;

디버깅 메시지를 보고자 하는 파일(.cpp, .c)에 다음을 선언해주자.
#undef DEBUGMSG
#define DEBUGMSG(a, b) RETAILMSG(1, b)

위의 두 줄을 선언하게 되면, 해당 파일의 DEBUGMSG()의 디버깅 메시지를 릴리즈모드에서도 확인할 수 있다.

참고로 헤더파일(.h)에 선언하는 것은 비추이다. 그 헤더파일을 include하는 모든 함수에 적용이 되어 이놈 저놈다 디버깅 메시지를 출력하기에... 상당히 디버깅하기에 복잡할 수 있다. 디버깅 하고자 하는 필요한 파일에만 선언을 할 수 있도록!!

추가로 RETAILMSG()에 관련된 내용은 http://todayis.tistory.com/108 에서 확인 할 수 있다.