디버거 로드맵
Visual Studio 디버거는 프로그램의 런타임 동작을 관찰하고 논리 오류를 찾아낼 수 있는 강력한 도구입니다.디버거는 모든 Visual Studio 프로그래밍 언어 및 관련 라이브러리와 함께 작동합니다.디버거를 사용하면 프로그램 실행을 중단하거나 일시 중단하여 코드 검사, 프로그램의 변수 계산 및 편집, 레지스터 보기, 소스 코드로부터 만들어진 명령 보기, 응용 프로그램에 사용된 메모리 공간 확인 등을 수행할 수 있습니다.편집하며 계속하기 기능을 사용하면 디버깅하는 동안 코드를 변경하고 프로그램을 계속 실행할 수 있습니다.
Visual Studio 디버거에는 디버거 도구에 액세스하기 위한 디버그 메뉴가 있습니다.디버거 창과 대화 상자에는 프로그램에 대한 정보가 표시되고 여기에 사용자가 직접 추가 정보를 입력할 수도 있습니다.F1 키를 누르면 각 창과 대화 상자에 대한 도움말을 표시할 수 있습니다.
단원 내용
실행 제어
디버거를 사용하여 응용 프로그램의 실행을 제어하는 방법에 대해 설명합니다.디버거를 사용하면 실행 시작 또는 계속, 실행 중단 및 중지, 응용 프로그램 단계별 실행, 지정한 위치까지 실행, 실행 위치 설정 등을 수행할 수 있습니다.방법: 숨겨진 디버거 명령 복원
IDE 기본 설정에 따라 숨겨진 디버거 명령을 표시하는 방법에 대해 설명합니다.스레드 및 프로세스 작업
프로세스 및 스레드에 연결하고 그 실행을 제어하는 방법에 대해 설명합니다.Just-In-Time 디버깅
Visual Studio의 외부에서 실행하는 동안 프로그램이 충돌할 때 자동으로 디버거를 시작할 수 있는 Just-In-Time 디버깅에 대해 설명합니다.자동으로 디버거 실행
Windows에서 응용 프로그램을 시작할 때 Visual Studio가 시작되도록 응용 프로그램을 설정하는 지침을 제공합니다.Visual Studio가 응용 프로그램을 로드하여 디버깅 준비를 하지만 디버깅은 실행 명령이 발행되어야 시작됩니다.디버거를 시작하는 이러한 방법은 서비스 및 COM out-of-process 서버를 디버깅하는 데 유용합니다.연습: 디자인 타임에 디버깅
응용 프로그램이 실행되지 않을 때 Visual Studio 직접 실행 창을 사용하여 함수나 서브루틴을 실행하는 방법을 보여 줍니다.덤프 파일을 사용하여 응용 프로그램 충돌 및 중지 문제 디버깅
저장 및 열기에 대한 지침을 포함하여 덤프 파일에 대해 설명합니다.덤프 파일에는 일정한 시점(대개 충돌 이후)의 프로그램 상태에 대한 스냅숏이 포함됩니다.소스 파일이나 PDB가 설치되어 있지 않은 컴퓨터에서 프로그램을 테스트하는 경우 충돌이 발생하면 덤프 파일을 저장하고 소스 파일과 PDB가 있는 빌드 컴퓨터에서 이 덤프 파일을 사용하여 충돌을 디버깅할 수 있습니다.Breakpoints and Tracepoints
중단점과 추적점의 개념을 정의하고 이를 사용하는 방법에 대해 설명합니다.디버거에서 데이터 보기
프로그램의 상태를 검사하고 수정할 수 있는 여러 가지 디버깅 도구에 대한 정보를 제공합니다.이러한 도구의 대부분은 중단 모드에서만 작동합니다.디버거에서 사용하는 식
디버거에 C++, C#, C++, Visual Basic, J# 및 스크립트 식을 입력할 때 사용할 수 있는 언어별 구문에 대해 설명하는 항목의 링크를 제공합니다.예외 처리
예외, 디버거에서 예외를 처리하는 방법, 처리를 변경하는 방법, 예외가 발생한 위치를 보는 방법, 변수 내용을 보는 방법, 관리 코드에서 처리되지 않은 예외에 대한 제한, 네이티브(C++) 코드에서 예외 해결 등에 대해 설명합니다.편집하며 계속하기
프로그램이 중단 모드에 있는 동안 소스 코드를 변경할 수 있으며, 디버그 세션을 종료하고 프로그램을 다시 빌드하지 않고도 변경 내용을 적용할 수 있도록 해 주는 도구인 편집하며 계속하기에 대해 설명하고, 이 기능을 활성화/비활성화하는 방법을 소개합니다.
관련 단원
- 디버깅 홈 페이지
자세한 디버깅 설명서 단원으로 연결되는 링크를 제공합니다.디버거의 새로운 기능, 설정 및 준비, 중단점, 예외 처리, 편집하며 계속하기, 관리 코드 디버깅, Visual C++ 프로젝트 디버깅, COM 및 ActiveX 디버깅, DLL 디버깅, SQL 디버깅, 사용자 인터페이스 참조 등의 정보를 다룹니다.