출처 superchangho | superchangho
원문 http://blog.naver.com/superchangho/70048122632
예전에 서버 개발팀에 꼽사리 끼어서 스터디를 할때 OutputDebugString이란 함수에 대해서 들었었던 기억이 있다
그 당시 서버 개발팀 팀장님이 이거 되게 유용한 함수라고 막 얘기를 해줬었던 기억도 있는데
이건 머 써보지도 않았고, 써볼 생각도 안했으니 이게 얼마나 유용한지 안 유용한지도 몰랐었는데

요근래 Win32 프로그래밍을 할일이 있어서 이것저것 해보고 있는데
Win32 프로그램에선 TRACE를 안먹는 다는 사실을 알고는 ;;;

프로그램 실행중에 확인해봐야 하는 값이 있는데, 이건 뭐 TRACE만 집어넣으면
Error 뜨면서 컴파일이 안되니... 노가다로 하나하나 보고 있는데
우연히 생각난 OutputDebugString....
역시 사람은 공부를 해야 된다;;;; ㅋㅋㅋ

그래서 구글링을 해봤더니, 요거 쵸큼 짱인듯 ㅡㅡb
이제부터 사용법
일단은 DebugView라는 프로그램을 다운받는다.
다운은 요기(http://technet.microsoft.com/ko-kr/sysinternals/bb896647(en-us).aspx)서 받으면 된다
검색할 필요없이 첨부된 파일 먼저 다운받으시고, 원하는 곳에 저장해놓은후

비쥬얼 스튜디오로 진입
그림과 같이 Tools -> External Tools 선택


선택하면 아래와 같은 창이 뜬다. Add를 눌러서 다운받은 DebugView가 저장되어 있는 위치 지정해 놓으면
비쥬얼 스튜디오와 DebugView 연결 시키는 단계는 끝..



비쥬얼 스튜디오와 DebugView를 연동 시켰으니, 이제는 코드로 넘어가서 보면,
일단 코드에서 사용할 함수를 만들어 준다. 그리 어려운 코드는 아니라서 스리슬쩍 변수명 개판으로 해서 하나 만들었음 ㅋㅋ



요렇게 만들어 놓은후에, 사용하고자 하는 곳에서 Changho_TRACE를 호출해 준다 
요렇게



이렇게 만든후에 DebugView를 켜놓고 프로그램을 실행시키면 아래와 같은 결과를 볼수 있다.


이 방법을 사용하면, 무거운 Debugger를 띄우지 않고서도 Release모드로 TRACE 기능을 그대로 사용할수 있는 장점이 있다.
바로 그냥 Ctrl + F5를 사용해서 프로그램을 실행시키더라도 이런 디버그 메시지를 모두 볼수 있다
아 그리고, filtering 기능이 지원되기 때문에 자기가 원하는 메시지들에다가 highlighting을 줄수 있다
또한 원격 디버깅 까지 가능하다는 사실~!~~~

주의 사항
DebugView를 사용할때 F5(디버그모드)로 실행시키면 안된다. DebugView로 와야 하는 메시지들을 비쥬얼 스튜디오의 Debugger가 모두 가로채 가버리기 때문에 DebugView로는 아무것도 안오기 때문에, 메시지가 하나도 안나온다. 


+ Recent posts