ICorDebugManagedCallback2::Exception 方法
通知调试器,已经开始搜索异常处理程序。
语法
HRESULT Exception (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFrame *pFrame,
[in] ULONG32 nOffset,
[in] CorDebugExceptionCallbackType dwEventType,
[in] DWORD dwFlags
);
参数
pAppDomain
[in]指向 ICorDebugAppDomain 对象的指针,该对象表示包含引发异常的线程的应用程序域。
pThread
[in]指向 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 | 引发异常的帧。 | 帧中的指令指针。 |
DEBUG_EXCEPTION_USER_FIRST_CHANCE | 与引发的异常点最接近的用户代码帧。 | 帧中的指令指针。 |
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND | 包含 catch 处理程序的帧。 | catch 处理程序开头的公共中间语言 (CIL) 偏移量。 |
DEBUG_EXCEPTION_UNHANDLED | Null | 未定义。 |
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 2.0 起可用