Visual Studio 디버거는 VSPackage로 구현되고 전체 디버그 세션을 관리합니다. 디버그 세션은 다음 요소로 구성됩니다.
디버그 패키지: Visual Studio 디버거는 디버그되는 내용에 관계없이 동일한 사용자 인터페이스를 제공합니다.
SDM(세션 디버그 관리자): 다양한 디버그 엔진을 관리하기 위해 Visual Studio 디버거에 일관된 프로그래밍 방식 인터페이스를 제공합니다. Visual Studio에서 구현합니다.
프로세스 디버그 관리자(PDM): Visual Studio의 실행 중인 모든 인스턴스에 대해 디버그할 수 있거나 디버그 중인 모든 프로그램 목록을 관리합니다. Visual Studio에서 구현합니다.
디버그 엔진(DE): 디버깅 중인 프로그램을 모니터링하고, 실행 중인 프로그램의 상태를 SDM 및 PDM에 전달하고, 식 계산기 및 기호 공급자와 상호 작용하여 프로그램의 메모리 및 변수 상태에 대한 실시간 분석을 제공합니다. Visual Studio(지원하는 언어) 및 자체 런타임을 지원하려는 타사 공급업체에 의해 구현됩니다.
EE(식 계산기): 특정 지점에서 프로그램이 중지되었을 때 사용자가 제공하는 변수 및 식을 동적으로 평가하기 위한 지원을 제공합니다. Visual Studio(지원하는 언어) 및 자체 언어를 지원하려는 타사 공급업체에 의해 구현됩니다.
SP(기호 공급자): 기호 처리기라고도 하며, 의미 있는 정보를 제공할 수 있도록 프로그램의 디버깅 기호를 프로그램의 실행 중인 인스턴스에 매핑합니다(예: 소스 코드 수준 디버깅 및 식 평가). Visual Studio(공용 언어 런타임 [CLR] 기호 및 Program DataBase [PDB] 기호 파일 형식의 경우) 및 디버깅 정보를 저장하는 고유한 방법이 있는 타사 공급업체에 의해 구현됩니다.
다음 다이어그램은 Visual Studio 디버거의 이러한 요소 간의 관계를 보여 줍니다.
이 부분에서는
디버그 패키지 는 Visual Studio 셸에서 실행되고 모든 UI를 처리하는 디버그 패키지에 대해 설명합니다.
프로세스 디버그 관리자는 디버그 할 수 있는 프로세스의 관리자인 PDM의 기능에 대한 개요를 제공합니다.
세션 디버그 관리자는 IDE에 대한 디버그 세션의 통합 보기를 제공하는 SDM을 정의합니다. SDM은 DE를 관리합니다.
디버그 엔진 은 DE가 제공하는 디버깅 서비스를 문서화합니다.
운영 모드는 IDE가 작동할 수 있는 세 가지 모드인 디자인 모드, 실행 모드 및 중단 모드에 대한 개요를 제공합니다. 전환 메커니즘도 설명합니다.
식 계산기는 런타임에 EE의 용도를 설명합니다.
기호 공급자 는 구현 시 기호 공급자가 변수와 식을 평가하는 방법을 설명합니다.
형식 시각화 도우미 및 사용자 지정 뷰어 에서는 형식 시각화 도우미와 사용자 지정 뷰어가 무엇이며 식 계산기가 둘 다 지원하는 데 어떤 역할을 하는지 설명합니다.
관련 섹션
디버거 개념은 기본 디버깅 아키텍처 개념을 설명합니다.
디버거 컨텍스트는 DE가 코드, 설명서 및 식 평가 컨텍스트 내에서 동시에 작동하는 방법을 설명합니다. 세 가지 컨텍스트 각각에 대해 관련 위치, 위치 또는 평가에 대해 설명합니다.
디버그 태스크 에는 프로그램 시작 및 식 평가와 같은 다양한 디버깅 작업에 대한 링크가 포함되어 있습니다.