이 섹션에서는 네이티브 애플리케이션에 대한 몇 가지 일반적인 디버깅 문제 및 기술에 대해 설명합니다. 이 섹션에서 다루는 기술은 고급 기술입니다. Visual Studio 디버거를 사용하는 메커니즘은 디버거를 먼저 살펴보세요.
이 부분에서는
방법: 최적화된 코드 디버그 에서는 최적화된 코드를 디버깅하기 위한 팁, 특히 최적화되지 않은 버전의 프로그램을 디버그해야 하는 이유, 디버그 및 릴리스 구성에 대한 기본 최적화 설정, 최적화된 코드에만 표시되는 버그를 찾기 위한 팁(디버그 빌드 구성에서 최적화 설정)을 제공합니다.
DebugBreak 및 __debugbreak Win32 DebugBreak
함수를 설명하고 플랫폼 SDK의 참조 항목에 대한 링크를 제공합니다. 또한 __debugbreak
본질적인 특성에 대해 설명합니다.
C/C++ 어설션은 어설션 문장과 그 작동 방식, 사용의 이점(논리 오류 발견, 작업 결과 확인 및 오류 조건 테스트), _DEBUG
와의 상호작용, 그리고 Visual Studio에서 지원하는 어설션의 유형을 설명합니다.
방법: 인라인 어셈블리 코드 디버그 에서는 디스어셈블리 창을 사용하여 어셈블리 지침을 보는 방법에 대한 간단한 지침을 제공하고 레지스터 창을 사용하여 레지스터 콘텐츠를 보고 해당 창과 관련된 항목에 대한 링크를 제공합니다.
MFC 디버깅 기술은 afxDebugBreak, TRACE 매크로, MFC에서 메모리 누수 감지, MFC 어설션, MFC 디버그 빌드 크기 줄이기 등 MFC 프로그램의 디버깅 기술에 연결합니다.
CRT 디버깅 기술 CRT 디버그 라이브러리, 보고용 매크로, malloc와 _malloc_dbg 간의 차이점, 디버그 후크 함수 작성 및 CRT 디버그 힙을 사용하는 등 C Run-Time 라이브러리의 디버깅 기술에 연결합니다.
네이티브 코드 FAQ 디버깅은 C++ 프로그램 디버깅에 대한 질문과 대답을 제공합니다.
COM 및 ActiveX 디버깅 은 COM 및 ActiveX 디버깅에 사용할 수 있는 도구를 포함하여 COM 및 ActiveX 애플리케이션 디버깅에 대한 정보를 제공합니다.
방법: 삽입 코드 디버그 에서는 특성을 사용하는 코드 디버깅에 대한 지침을 제공합니다. 지침에는 원본 주석을 켜는 방법, 삽입된 코드를 보는 방법 및 현재 실행 지점에서 디스어셈블리 코드를 보는 방법이 포함됩니다.
연습: 병렬 애플리케이션 디버깅 은 병렬 작업 및 병렬 스택 도구 창을 사용하여 병렬 애플리케이션을 디버그하는 방법을 설명합니다.
관련 섹션
C++ 프로젝트 디버그 준비에서는 C++ 프로젝트 템플릿에서 만든 네이티브 프로젝트 형식을 디버그하는 방법을 설명하는 항목에 대한 링크를 제공합니다.
DLL 프로젝트 디버깅 은 네이티브 및 관리되는 DLL을 디버그하는 방법에 대한 정보를 제공합니다.
먼저 디버거를 살펴보면 디 버깅 설명서의 더 큰 섹션에 대한 링크가 제공됩니다. 정보에는 디버거, 설정 및 준비, 중단점, 예외 처리, 편집 및 계속, 관리 코드 디버깅, 네이티브 코드 디버깅, SQL 디버깅 및 사용자 인터페이스 참조가 포함됩니다.