본문 바로가기
개발/Visual C++

Visual Studio Release 모드 디버깅

by belitino 2012. 5. 2.

출처:    http://support.microsoft.com/kb/601474/ko

http://nsjokt.springnote.com/pages/3539747

 

릴리스 모드로 된 프로그램을 디버깅하기 위해서는 출처에 나와있는 것 처럼 설정을 하고 디버깅을 돌리면 됩니다.

  1. Project를 open 한 뒤 menu Project/Settings 를 선택합니다.
  2. Settings ForWin32 Release로 선택합니다.
  3. C/C++ tab에서 categoryGeneral로 선택하고 Debug infoProgram Database로 선택합니다.
  4. Link tab에서 categoryGeneral로 선택하고 Generate debug info를 check합니다.
  5. Rebuild All를 실행하여서 프로그램을 다시 Build 합니다.이제 디버깅 하고자 하는 위치에 Break Pointer 를 잡고 Go를 실행하면, 디버깅을 진행할 수 있습니다 

그리고 Visual Studio 2008 이상에서는 추가적으로 처리를 해줘야 할 것이 있습니다.

디버깅 정보 형식은 "편집하며 계속하기를 위한 프로그램 데이터베이스(/ZI)" 로 변경한다.

그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 최적화"로 가서 "속도 최대화(/O2)"에서 "사용 안 함(/Od)"으로 설정.

그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 최적화"로 가서 "인라인 함수 확장"에서 "사용 안 함 (/Ob0)"으로 설정.

그리고 "메뉴 -> 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 전체 프로그램 최적화"로 가서 "링크 타임 코드 생성 사용(/GL)" "사용 안 함"으로 설정한다.

최적화 옵션을 사용 안함으로 설정하지 않으면 디버깅시 어떤 변수 값은 보이고, 어떤 변수 값은 보이지 않는 신기한 경우가 생길 수 있습니다.