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된 스레드를 포함하는 기본 애플리케이션을 나타내는 ICorDebugAppDo기본 개체에 대한 포인터입니다.
pThread
[in] 예외가 throw된 스레드를 나타내는 ICorDebugThread 개체에 대한 포인터입니다.
pFrame
[in] 매개 변수에 의해 결정되는 프레임을 나타내는 ICorDebugFrame 개체에 대한 dwEventType
포인터입니다. 자세한 내용은 설명 섹션의 표를 참조하세요.
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 처리기 시작 부분의 CIL(공용 중간 언어) 오프셋입니다. |
DEBUG_EXCEPTION_UNHANDLED | NULL | Undefined. |
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorDebug.idl, CorDebug.h
라이브러리: CorGuids.lib
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET