hello world 2014. 1. 13. 15:17

Release Build에서 변수 깨지지 않고 보는 방법


가끔 릴리즈 빌드에서 디버깅을 해야하는 상황이 있습니다.

대부분의 경우 변수값이 깨져서 나오는데, 컴파일 옵션 하나만 추가하면 디버그 빌드처럼 변수를 확인할 수 있습니다.


Visual C++ 2012 이상에서 가능하고, 정식 지원은 아니랍니다.


* 참고사이트 : http://kblog.popekim.com/2013/11/how-to-debug-optimized-code-in-vc2012.html

* 참고사이트 : http://randomascii.wordpress.com/2013/09/11/debugging-optimized-codenew-in-visual-studio-2012/


* 컴파일옵션


 /d2Zi+


현재 진행중인 프로젝트에 적용해봤습니다. (참고로 VS 2012에서 개발 중입니다.)

* 컴파일옵션 적용



* 옵션 적용 전 Watch창



* 옵션 적용 후 Watch창



같은 라인에서 브레이크포인트를 잡고 테스트했는데, 잘 나오네요.


실행 파일은 건들지 않고(확인해보니 파일 크기도 동일), PDB만 바뀐다고하니, Release 빌드에 컴파일 옵션을 추가해줘도 문제가 없을 것같습니다.