예외 처리 (Visual Studio SDK)
다음 예외가 throw 될 때 발생 하는 프로세스를 설명 합니다.
예외 처리 프로세스
예외가 처음 throw 되었지만 디버깅 중인 프로그램에서 예외 처리기에 의해 처리 되는 전에 디버그 엔진 (DE)을 보냅니다 경우는 IDebugExceptionEvent2 중지 이벤트와 세션 디버그 매니저 (SDM)에 있습니다. IDebugExceptionEvent2 사용자가 플래그를 첫 번째 예외 알림을 통해 (예외 대화 상자에서 디버그 패키지 지정) 예외에 대 한 설정을 지정 하는 경우에 보내집니다.
SDM 호출 IDebugExceptionEvent2::GetException 예외의 속성을 가져올 수 있습니다.
디버그 패키지 호출이 IDebugExceptionEvent2::CanPassToDebuggee 사용자에 게 옵션을 결정 합니다.
디버그 패키지 묻는 첫 번째 예외 대화 상자를 열어서 해당 예외를 처리 하는 방법입니다.
사용자가 계속 하도록 선택 하는 경우 호출 하는 SDM IDebugExceptionEvent2::CanPassToDebuggee.
호출 메서드는 S_OK를 반환 하는 경우 IDebugExceptionEvent2::PassToDebuggee.
또는
프로그램 S_FALSE를 반환 하는 경우 디버깅 중인 예외를 처리 하는 두 번째 기회가 주어입니다.
디버깅 중인 프로그램에 대 한 두 번째 예외 처리기가 없는 경우는 DE 보냅니다 있는 IDebugExceptionEvent2 로 SDM을 EVENT_SYNC_STOP.
디버그 패키지 묻는 첫 번째 예외 대화 상자를 열어서 해당 예외를 처리 하는 방법입니다.
디버그 패키지 호출이 IDebugExceptionEvent2::CanPassToDebuggee 사용자에 게 옵션을 결정 합니다.
디버그 패키지 묻는 두 번째 예외 대화 상자를 열어서 해당 예외를 처리 하는 방법입니다.
호출 메서드는 S_OK를 반환 하는 경우 IDebugExceptionEvent2::PassToDebuggee.