MDAInfo 구조체
MDA(관리형 디버깅 도우미)의 생성을 트리거하는 Event_MDAFired
이벤트에 대한 세부 정보를 제공합니다.
구문
typedef struct _MDAInfo {
LPCWSTR lpMDACaption;
LPCWSTR lpMDAMessage
} MDAInfo;
멤버
멤버 | Description |
---|---|
lpMDACaption |
현재 MDA의 제목입니다. 타이틀은 Event_MDAFired 이벤트를 트리거한 오류의 종류를 설명합니다. |
lpMDAMessage |
현재 MDA에서 제공하는 출력 메시지입니다. |
설명
MDA(관리형 디버깅 도우미)는 CLR(공용 언어 런타임)과 함께 작동하여 런타임 실행 엔진에서 잘못된 조건을 식별하거나 엔진 상태에 대한 추가 정보를 덤프하는 등의 작업을 수행하는 데 도움이 되는 디버깅입니다. MDA는 그렇지 않으면 트래핑하기 어려운 이벤트에 대한 XML 메시지를 생성합니다. 이는 관리형 코드와 비관리형 코드 간의 전환을 디버깅하는 데 특히 유용합니다.
런타임은 MDA 생성을 트리거하는 이벤트가 발생할 때 다음 단계를 수행합니다.
호스트가
Event_MDAFired
이벤트 알림을 받기 위해 ICLROnEventManager::RegisterActionOnEvent를 호출하여 IActionOnCLREvent 인스턴스를 등록하지 않은 경우 런타임은 호스팅되지 않은 기본 동작을 진행합니다.호스트가 이 이벤트에 대한 처리기를 등록한 경우 런타임은 디버거가 프로세스에 연결되어 있는지 여부를 확인합니다. 이 경우 런타임은 디버거로 나뉩니다. 디버거가 계속되면 호스트를 호출합니다. 디버거가 연결되지 않은 경우 런타임은
IActionOnCLREvent::OnEvent
를 호출하고MDAInfo
인스턴스에 대한 포인터를data
매개 변수로 전달합니다.
호스트는 MDA를 활성화하고 MDA가 활성화될 때 알림을 받도록 선택할 수 있습니다. 이렇게 하면 호스트가 기본 동작을 재정의하고 이벤트를 발생시킨 관리형 스레드를 중단하여 프로세스 상태가 손상되지 않도록 할 수 있습니다. MDA 사용에 대한 자세한 내용은 관리형 디버깅 도우미로 오류 진단을 참조하세요.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: MSCorEE.idl
라이브러리: 리소스로 MSCorEE.dll에 포함됩니다.
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET