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