2008. 5. 28. 11:51
DEBUGMSG를 release모드에서 출력하기
2008. 5. 28. 11:51 in Windows Embedded/Windows Embedded CE 6.0
BSP의 소스 내용을 보면, 디버그 메시지를 뿌려주는 부분이 대부분 DEBUGMSG()로 되어있는 것을 볼 수있다.
이것은 커널을 디버그(debug)모드로 빌드를 했을 때 볼 수 있는 디버깅 메시지이다. 하지만, 보통 디버그 모드 보다는 릴리즈(release)모드로 빌드를 하기 때문에 이 디버깅 메시지를 확인 할 수 없다.
작업을 하다 보면 디버깅 메시지를 확인해야 할 필요가 많이 있다. 그렇다구 해서 일일이 DEBUGMSG()를 RETAILMSG()로 바꾸어 빌드하는 것두 곤욕이다.
이럴 때 다음과 같은 방법을 사용하면 될 듯 하다.
뭐.. 공공연하게 많이 사용되는 방법이긴 하지만.. 그래도 팁이라고 ... -_-;
디버깅 메시지를 보고자 하는 파일(.cpp, .c)에 다음을 선언해주자.
#undef DEBUGMSG
#define DEBUGMSG(a, b) RETAILMSG(1, b)
#define DEBUGMSG(a, b) RETAILMSG(1, b)
위의 두 줄을 선언하게 되면, 해당 파일의 DEBUGMSG()의 디버깅 메시지를 릴리즈모드에서도 확인할 수 있다.
참고로 헤더파일(.h)에 선언하는 것은 비추이다. 그 헤더파일을 include하는 모든 함수에 적용이 되어 이놈 저놈다 디버깅 메시지를 출력하기에... 상당히 디버깅하기에 복잡할 수 있다. 디버깅 하고자 하는 필요한 파일에만 선언을 할 수 있도록!!
추가로 RETAILMSG()에 관련된 내용은 http://todayis.tistory.com/108 에서 확인 할 수 있다.
'Windows Embedded > Windows Embedded CE 6.0' 카테고리의 다른 글
Windows CE 6.0 빌드 메뉴.. (0) | 2008.06.25 |
---|---|
CE에서의 디버깅 메시지 - RETAILMSG (0) | 2008.05.22 |
CEPC 해상도 조절 (0) | 2008.01.30 |
펜티엄 3 기계에 Windows Embedded CE 6.0 설치 (0) | 2008.01.29 |
제어판에 네트웍 설정 추가하기 (0) | 2008.01.25 |