ICorProfilerCallback::ExceptionCatcherEnter 方法

通知探查器正在向相应的 catch 块传递控制。

语法

HRESULT ExceptionCatcherEnter(  
    [in] FunctionID functionId,  
    [in] ObjectID   objectId);  

参数

functionId
[in] 包含 catch 块的函数的标识符。

objectId
[in] 正在处理的异常的标识符。

注解

仅当 catch 点位于使用实时 (JIT) 编译器编译的代码中时,才会调用 ExceptionCatcherEnter 方法。 在非托管代码中或运行时的内部代码中捕获的异常将不会调用此通知。 再次传递 objectId 值,因为垃圾回收可能在 ExceptionThrown 通知之后移动了对象。

探查器不应在此方法的实现中阻塞,因为堆栈可能未处于允许垃圾回收的状态,因此无法启用抢先式垃圾回收。 如果探查器在此处阻塞并尝试垃圾回收,则运行时将阻塞,直到此回调返回。

探查器实现此方法不应调入托管代码,也不应以任何方式导致托管内存分配。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅