ICorDebugManagedCallback2::Exception 메서드
예외 처리기에 대한 검색이 시작되었음을 디버거에 알립니다.
HRESULT Exception (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFrame *pFrame,
[in] ULONG32 nOffset,
[in] CorDebugExceptionCallbackType dwEventType,
[in] DWORD dwFlags
);
매개 변수
pAppDomain
[in] 예외가 throw된 스레드를 포함한 응용 프로그램 도메인을 나타내는 ICorDebugAppDomain 개체에 대한 포인터입니다.pThread
[in] 예외가 throw된 스레드를 나타내는 ICorDebugThread 개체에 대한 포인터입니다.pFrame
[in] dwEventType 매개 변수에 따라 결정된 프레임을 나타내는 ICorDebugFrame 개체에 대한 포인터입니다. 자세한 내용은 설명 단원의 표를 참조하십시오.nOffset
[in] dwEventType 매개 변수에 따라 결정되는 오프셋을 지정하는 정수입니다. 자세한 내용은 설명 단원의 표를 참조하십시오.dwEventType
[in] 이 예외 콜백의 형식을 지정하는 CorDebugExceptionCallbackType 열거형의 값입니다.dwFlags
[in] 예외에 대한 추가 정보를 지정하는 CorDebugExceptionFlags 열거형의 값입니다.
설명
Exception 콜백은 예외 처리 프로세스의 검색 단계 동안 여러 지점에서 호출됩니다. 즉, 예외를 해제하는 동안 두 번 이상 호출될 수 있습니다.
처리되고 있는 예외는 pThread 매개 변수가 참조하는 ICorDebugThread 개체에서 검색할 수 있습니다.
특정 프레임 및 오프셋은 다음과 같이 dwEventType 매개 변수에 따라 결정됩니다.
dwEventType의 값 |
pFrame의 값 |
nOffset의 값 |
---|---|---|
DEBUG_EXCEPTION_FIRST_CHANCE |
예외를 throw한 프레임 |
프레임의 명령 포인터 |
DEBUG_EXCEPTION_USER_FIRST_CHANCE |
throw된 예외 지점에서 가장 가까운 사용자 코드 프레임 |
프레임의 명령 포인터 |
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND |
Catch 처리기를 포함하는 프레임 |
Catch 처리기의 시작 위치에 대한 MSIL(Microsoft Intermediate Language) 오프셋 |
DEBUG_EXCEPTION_UNHANDLED |
NULL |
정의되어 있지 않습니다. |
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0