본문 바로가기

Language/MFC

콘솔모드 Debug

하도 프로그램 버그가 않잡혀서 이것저것 검색하다가 콘솔창(printf)을 이용하여 Debug 하는 방법을 보고 적용 해보았다. 


머 특별한건 아니지만 프로그램 기존 로그는 지저분하고 알아보기가 불편하여 컨트롤을 사용하지 않는 콘솔창을 이용하니 깔끔하니 보기가 편하네...


MFC환경에서 콘솔창을 이용한 Deubgging방법


다음과 같은 명령을 추가하면 된다.
(이 방법 말고도 직접 프로젝트 설정가서 하는 방법도 있다.)

유니코드 환경에서는 다음과 같은 명령을

#pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console")


멀티바이트 환경에서는 다음과 같은 명령을 추가하면 된다.

#pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")


w는 아마도 wide의 약자가 아닐까 싶다.  

entry의 함수가 문자집합(유니코드,멀티)와 맞지 않으면 링커 에러를 일으키게 된다.

#ifdef _DEBUG
 #ifdef UNICODE
  #pragma comment(linker, "/entry:wWinMainCRTStartup /subsystem:console")
  #else 
  #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")
 #endif
#endif

이런식으로 아예 해놓는것도 나쁘지 않겟다. ㅋ