'릴리즈 모드'에 해당되는 글 2건

  1. 2008.05.28 DEBUGMSG를 release모드에서 출력하기
  2. 2007.11.02 릴리즈 모드에서 "DEBUGMSG()"보는 방법
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 에서 확인 할 수 있다.



2007. 11. 2. 11:35

릴리즈 모드에서 "DEBUGMSG()"보는 방법



WinCE로 작업을 하다 보면 디버깅 메시지의 필요성을 죽도록 느낄 수 있다.
그럼 어찌하면 디버깅 메시지를 볼 수 있을까??

간단하게 '디버깅 모드'로 빌드하면 된다. ㅎㅎ
BSP를 보게 되면, 소스에서 'DEBUGMSG()'라는 녀석을 자주 볼 수 있는데.. 이녀석이 디버깅 메시지를 뿌려주는 것이다.

하지만 이미지의 크기(?)등에 의해 보통 '디버그 모드'보다 '릴리즈 모드'로 빌드를 하게 된다.
이 경우 디버깅 메시지는 출력되지 않는다. ㅡㅡ;

하지만.. 우리가 원하는건... 디버깅 메시지..
왜?? 어디가 잘못됐는지 수정을 해야하는지 뭐든 봐야 아니깐.. ㅡㅡ;

하지만, '릴리즈 모드'에서도 디버깅 메시지의 내용을 볼 수 있는 방법이 있다고 한다.

그것은...

디버깅 할려는 파일(.cpp, .c)에 아래의 것을 선언해주면 된다.

#undef DEBUGMSG
#define DEBUGMSG(1, b) RETAILMSG(1, b)

릴리즈 모드에서는 'RETAILMSG()'라는 녀석을 메시지를 출력하는 용도로 사용하게 되는데.. DEBUGMSG()라는 녀석을 RETAILMSG()로 출력하게 define하는 것이다.

위와 같이 디버깅 메시지를 보려 하는 파일을 수정을 해주면, 해당 파일의 DEBUGMSG 메시지를 릴리즈 모드에서도 확인할 수 있다.

PS : 헤더파일에는 선언하지 말라는 말이 있다... 여러 파일에서 같은 헤더파일을 부를 경우 이놈, 저놈.. 다 디버깅 메시지를 출력할 수 있으므로.... 흠.. 난리겠구만.. ^^;