共用方式為


ICorProfilerCallback::ExceptionCatcherEnter 方法

向分析工具告知控制正傳遞至適當 catch 區塊。

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

參數

  • functionId
    [in] 包含 catch 區塊之函式的識別項。

  • objectId
    [in] 正在處理之例外狀況的識別項。

備註

只有在攔截點是在以 Just-In-Time (JIT) 編譯器編譯的程式碼中,才會呼叫 ExceptionCatcherEnter 方法。 Unmanaged 程式碼或執行階段內部程式碼中攔截的例外狀況不會呼叫此告知。 必須再次傳遞 objectId 值,因為記憶體回收可能在 ExceptionThrown 告知後已移動物件。

分析工具不應該在實作此方法時封鎖,因為堆疊可能不是處於允許記憶體回收的狀態,因此無法啟用先佔式記憶體回收。 如果分析工具在此封鎖,然後嘗試進行記憶體回收,則執行階段將會封鎖,直到此回呼返回為止。

分析工具對這個方法的實作不應該呼叫 Managed 程式碼內部,或以任何方式導致 Managed 記憶體配置。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorProf.idl、CorProf.h

**程式庫:**CorGuids.lib

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICorProfilerCallback 介面

ICorProfilerCallback::ExceptionCatcherLeave 方法