ICorProfilerCallback::ExceptionCatcherEnter 方法
可通知分析工具,控制項已從適當的 catch
區塊傳出。
語法
HRESULT ExceptionCatcherEnter(
[in] FunctionID functionId,
[in] ObjectID objectId);
參數
functionId
[in] 包含 catch
區塊之函式的識別碼。
objectId
[in] 所處理例外狀況的識別碼。
備註
只有在捕捉點位於使用 Just-In-Time (JIT) 編譯器所編譯的程式碼內時,才會呼叫 ExceptionCatcherEnter
方法。 在非受控程式碼或在執行階段的內部程式碼中捕捉到的例外狀況,將不會呼叫此通知。 因為記憶體回收可能在 objectId
通知後移動了物件,所以會再次傳遞 ExceptionThrown
值。
分析工具不應該封鎖此方法的實作,因為堆疊可能不是允許記憶體回收的狀態,因此無法啟用先佔式記憶體回收。 如果分析工具在此封鎖並嘗試記憶體回收,則執行階段將會封鎖,直到此回撥傳回為止。
這個方法的分析工具實作不應該呼叫受控程式碼,或以任何方式造成受控記憶體配置。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起可用