출처: http://support.microsoft.com/kb/601474/ko
http://nsjokt.springnote.com/pages/3539747
릴리스 모드로 된 프로그램을 디버깅하기 위해서는 출처에 나와있는 것 처럼 설정을 하고 디버깅을 돌리면 됩니다.
- Project를 open 한 뒤 menu Project/Settings 를 선택합니다.
- Settings For를 Win32 Release로 선택합니다.
- C/C++ tab에서 category를 General로 선택하고 Debug info를 Program Database로 선택합니다.
- Link tab에서 category를 General로 선택하고 Generate debug info를 check합니다.
- Rebuild All를 실행하여서 프로그램을 다시 Build 합니다.이제 디버깅 하고자 하는 위치에 Break Pointer 를 잡고 Go를 실행하면, 디버깅을 진행할 수 있습니다
그리고 Visual Studio 2008 이상에서는 추가적으로 처리를 해줘야 할 것이 있습니다.
디버깅 정보 형식은 "편집하며 계속하기를 위한 프로그램 데이터베이스(/ZI)" 로 변경한다.
그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 최적화"로 가서 "속도 최대화(/O2)"에서 "사용 안 함(/Od)"으로 설정.
그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 최적화"로 가서 "인라인 함수 확장"에서 "사용 안 함 (/Ob0)"으로 설정.
그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 전체 프로그램 최적화"로 가서 "링크 타임 코드 생성 사용(/GL)"를 "사용 안 함"으로 설정한다.
최적화 옵션을 사용 안함으로 설정하지 않으면 디버깅시 어떤 변수 값은 보이고, 어떤 변수 값은 보이지 않는 신기한 경우가 생길 수 있습니다.
'개발 > Visual C++' 카테고리의 다른 글
원격 디버깅시 break point가 disable되는 문제점 해결 방법 (0) | 2012.11.01 |
---|---|
Visual Studio 원격 디버깅 (0) | 2012.05.02 |
CArray 안의 내용을 조사식에서 쉽게 보는 방법 (0) | 2011.10.05 |
Visual Studio 2010 Copy&Paste 한글 깨짐 현상 해결법 (0) | 2011.10.01 |
Open GL 설치 방법 (0) | 2011.07.25 |