디버깅 준비: C++ 프로젝트 형식
이 섹션에서는 Visual C++ 프로젝트 템플릿에서 만든 기본 프로젝트 형식을 디버그하는 방법을 설명합니다.
DLL을 출력으로 만드는 이러한 프로젝트 형식은 공유되는 일반적인 기능 때문에 디버깅 DLL 프로젝트으로 그룹화되었습니다.
이 항목에서
C 또는 C++ Win32 애플리케이션 디버그하려면
디버그 구성 수동으로 설정하려면
권장 속성 설정
특정 속성은 모든 관리되지 않는 디버깅 시나리오에 대해 동일한 방식으로 설정해야 합니다. 다음 표에는 권장 속성 설정이 표시됩니다. 여기에 나열되지 않은 설정은 관리되지 않는 다양한 프로젝트 유형에 따라 다를 수 있습니다. 자세한 내용은 C++ 디버그 구성 대한프로젝트 설정을 참조하세요.
구성 속성 | C/C++ | 최적화 노드
속성 이름 | 설정 |
---|---|
최적화 | 사용 안 함(/0d)으로 설정합니다. 최적화된 코드는 생성된 명령이 소스 코드와 직접 일치하지 않으므로 디버그하기가 더 어렵습니다. 프로그램에 최적화된 코드에만 표시되는 버그가 있는 경우 이 설정을 설정할 수 있지만 디스어셈블리 창에 표시된 코드는 원본 창에 표시되는 것과 일치하지 않을 수 있는 최적화된 원본에서 생성됩니다. 스테핑과 같은 다른 기능은 예상대로 작동하지 않을 수 있습니다. |
구성 속성 | 링커 | 노드 디버깅
속성 이름 | 설정 |
---|---|
디버깅 정보 생성 | 디버깅에 필요한 디버깅 기호 및 파일을 만들려면 항상 이 옵션을 예(/DEBUG) 설정해야 합니다. 애플리케이션이 프로덕션으로 전환되면 애플리케이션을 해제로 설정할 수 있습니다. |
Win32 프로젝트
Win32 애플리케이션은 C 또는 C++로 작성된 기존 Windows 프로그램입니다. Visual Studio에서 이러한 유형의 애플리케이션을 디버깅하는 것은 간단합니다.
Win32 애플리케이션에는 MFC 애플리케이션 및 ATL 프로젝트가 포함됩니다. Windows API를 사용하고 MFC 또는 ATL을 사용할 수 있지만 CLR(공용 언어 런타임)은 사용하지 않습니다. 그러나 CLR을 사용하는 관리 코드를 호출할 수 있습니다.
다음 절차에서는 Visual Studio 내에서 Win32 프로젝트를 디버그하는 방법을 설명합니다. Win32 애플리케이션을 디버그하는 또 다른 방법은 Visual Studio 외부에서 애플리케이션을 시작하고 연결하는 것입니다. 자세한 내용은 실행 중인 프로세스에 연결 을 참조하세요.
C 또는 C++ Win32 애플리케이션을 디버그하려면
Visual Studio에서 프로젝트를 엽니다.
디버그 메뉴에서 시작선택합니다.
먼저 디버거살펴보기에서 설명한 기술을 사용하여 디버그합니다.
디버그 구성을 수동으로 설정하려면
보기 메뉴에서 속성 페이지클릭합니다.
구성 속성 노드를 아직 열리지 않은 경우 클릭하여 엽니다.
일반선택하고 출력 행의 값을 디버그로 설정합니다.
C/C++ 노드를 열고 일반 선택합니다.
디버그 행에서 컴파일러에서 생성할 디버깅 정보의 형식을 지정합니다. 선택할 수 있는 값에는 Program Database(/Zi) 또는 Program Database for Edit & Continue(/ZI)포함됩니다.
최적화선택하고 최적화 행의 드롭다운 목록에서 사용 안 함(/0d) 선택합니다.
생성된 명령이 소스 코드와 직접 일치하지 않으므로 최적화된 코드는 디버그하기 어렵습니다. 프로그램에 최적화된 코드에만 표시되는 버그가 있는 경우 이 설정을 설정할 수 있지만 디스어셈블리 창에 표시된 코드는 원본 창에 표시되는 것과 일치하지 않을 수 있는 최적화된 원본에서 생성됩니다. 단계별 실행과 같은 기능은 중단점 및 실행 지점을 잘못 표시할 수 있습니다.
링커 노드를 열고 디버깅을 선택합니다. 첫 번째 생성 행의 드롭다운 목록에서 예(/DEBUG) 선택합니다. 디버깅할 때 항상 설정합니다.
자세한 내용은 C++ 디버그 구성 대한프로젝트 설정을 참조하세요.
관련 콘텐츠
- 먼저 디버거 살펴보기
- C++ 디버그 구성에 대한 프로젝트 설정
- 실행 중인 프로그램 또는 여러 프로그램에 연결하기
- 디버그 및 릴리스 구성