ICorDebugManagedCallback2::Exception Method
Notifies the debugger that a search for an exception handler has started.
HRESULT Exception (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFrame *pFrame,
[in] ULONG32 nOffset,
[in] CorDebugExceptionCallbackType dwEventType,
[in] DWORD dwFlags
);
Parameters
pAppDomain
[in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the thread on which the exception was thrown.pThread
[in] A pointer to an ICorDebugThread object that represents the thread on which the exception was thrown.pFrame
[in] A pointer to an ICorDebugFrame object that represents a frame, as determined by the dwEventType parameter. For more information, see the table in the Remarks section.nOffset
[in] An integer that specifies an offset, as determined by the dwEventType parameter. For more information, see the table in the Remarks section.dwEventType
[in] A value of the CorDebugExceptionCallbackType enumeration that specifies the type of this exception callback.dwFlags
[in] A value of the CorDebugExceptionFlags enumeration that specifies additional information about the exception
Remarks
The Exception callback is called at various points during the search phase of the exception-handling process. That is, it can be called more than once while unwinding an exception.
The exception being processed can be retrieved from the ICorDebugThread object referenced by the pThread parameter.
The particular frame and offset are determined by the dwEventType parameter as follows:
Value of dwEventType |
Value of pFrame |
Value of nOffset |
---|---|---|
DEBUG_EXCEPTION_FIRST_CHANCE |
The frame that threw the exception. |
The instruction pointer in the frame. |
DEBUG_EXCEPTION_USER_FIRST_CHANCE |
The user-code frame closest to the point of the thrown exception. |
The instruction pointer in the frame. |
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND |
The frame that contains the catch handler. |
The Microsoft intermediate language (MSIL) offset of the beginning of the catch handler. |
DEBUG_EXCEPTION_UNHANDLED |
NULL |
Undefined. |
Requirements
Platforms: See .NET Framework System Requirements.
Header: CorDebug.idl, CorDebug.h
Library: CorGuids.lib
.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0