ICorProfilerCallback 介面
提供方法,讓 Common Language Runtime (CLR) 在分析工具已訂閱的事件發生時,用於告知程式碼剖析工具。
方法
方法 |
描述 |
---|---|
向分析工具告知已建立應用程式定義域。 |
|
向分析工具告知正在建立應用程式定義域。 |
|
向分析工具告知已從處理序卸載應用程式定義域。 |
|
向分析工具告知正在從處理序卸載應用程式定義域。 |
|
向分析工具告知已完成載入組件。 |
|
向分析工具告知正在載入組件。 |
|
向分析工具告知已卸載組件。 |
|
向分析工具告知正在卸載組件。 |
|
向分析工具告知已完成載入類別。 |
|
通知分析工具,表示正在載入類別。 |
|
向分析工具告知已完成卸載類別。 |
|
通知分析工具,表示正在卸載類別。 |
|
向分析工具告知已建立指定之 IID 和類別的執行階段可呼叫包裝函式 (RCW)。 |
|
向分析工具告知正在終結 RCW。 |
|
向分析工具告知控制正傳遞至適當 catch 區塊。 |
|
向分析工具告知控制正從適當 catch 區塊傳遞出來。 |
|
在 .NET Framework 2.0 版中已過時。 |
|
在 .NET Framework 2.0 中已過時。 |
|
尚未實作。 需要 Unmanaged 例外狀況資訊的分析工具必須透過其他方法取得這項資訊。 |
|
尚未實作。 需要 Unmanaged 例外狀況資訊的分析工具必須透過其他方法取得這項資訊。 |
|
向分析工具告知,例外處理的搜尋階段找到所擲回的例外狀況的處理常式。 |
|
向分析工具告知,正在執行使用者篩選。 |
|
向分析工具告知,剛才已完成執行使用者篩選。 |
|
向分析工具告知,例外處理的搜尋階段已進入函式。 |
|
向分析工具告知,例外處理的搜尋階段已完成搜尋函式。 |
|
向分析工具告知,已擲回例外狀況。 |
|
向分析工具告知,例外處理的回溯階段正在進入指定之函式中所包含的 finally 子句。 |
|
向分析工具告知,例外處理的回溯階段已離開 finally 子句。 |
|
告知分析工具,例外處理的回溯階段已進入函式。 |
|
向分析工具告知,例外處理的回溯階段已完成回溯函式。 |
|
向分析工具告知執行階段已開始卸載函式。 |
|
呼叫以便於每次啟動新的 CLR 應用程式時初始化分析工具。 |
|
向分析工具告知已完成搜尋先前使用 NGen.exe 所編譯的函式。 |
|
向分析工具告知已開始搜尋先前使用 NGen.exe 所編譯的函式。 |
|
向分析工具告知 JIT 編譯器已完成函式的編譯。 |
|
向分析工具告知 Just-In-Time (JIT) 編譯器已開始編譯函式。 |
|
向分析工具告知已從記憶體移除 JIT 編譯函式。 |
|
向分析工具告知 JIT 編譯器即將插入函式來配合另一個函式。 |
|
向分析工具告知,已發生從 Managed 程式碼到 Unmanaged 程式碼的轉換。 |
|
向分析工具告知正在將模組附加至其父組件。 |
|
向分析工具告知已完成載入模組。 |
|
向分析工具告知正在載入模組。 |
|
向分析工具告知模組已完成卸載。 |
|
向分析工具告知正在卸載模組。 |
|
向分析工具告知記憶體回收期間移動的物件參考。 |
|
向分析工具告知,堆積中的記憶體已配置給物件。 |
|
向分析工具告知,記憶體中由指定的物件所參考的物件。 |
|
向分析工具告知,自上一次記憶體回收之後,已建立的每個指定之類別的執行個體數目。 |
|
向分析工具告知,遠端呼叫已經在用戶端上執行完成。 |
|
向分析工具告知已啟動遠端呼叫。 |
|
向分析工具告知,遠端呼叫的伺服器端部分已經完成,而且用戶端正在接收且即將要處理回覆。 |
|
向分析工具告知用戶端正在將要求傳送至伺服器。 |
|
向分析工具告知,處理序已完成叫用方法以回應遠端方法引動過程要求。 |
|
向分析工具告知,處理序正在叫用方法以回應遠端方法引動過程要求。 |
|
向分析工具告知,處理序正在接收遠端方法引動過程或啟動要求。 |
|
向分析工具告知,處理序已完成處理遠端方法引動過程要求,並且即將透過通道傳送回覆。 |
|
向分析工具告知記憶體回收之後根參考的相關資訊。 |
|
向分析工具告知,執行階段已繼續所有執行階段執行緒,並已恢復正常作業。 |
|
向分析工具告知,執行階段正在繼續所有的執行階段執行緒。 |
|
向分析工具告知,執行階段已中止之前發生的執行階段暫止。 |
|
向分析工具告知,執行階段已完成所有執行階段執行緒的暫止。 |
|
向分析工具告知,執行階段即將要暫止所有的執行階段執行緒。 |
|
向分析工具告知,指定的執行緒已在暫止後繼續。 |
|
向分析工具告知,指定的執行緒已暫止或即將暫止。 |
|
向分析工具告知應用程式正在關閉。 |
|
向分析工具告知,正在使用特定的作業系統 (OS) 執行緒實作 Managed 執行緒。 |
|
向分析工具告知已建立執行緒。 |
|
向分析工具告知已終結執行緒。 |
|
向分析工具告知,已發生從 Unmanaged 程式碼到 Managed 程式碼的轉換。 |
備註
CLR 會在 ICorProfilerCallback (或 ICorProfilerCallback2) 介面中呼叫方法,以便於分析工具已訂閱的事件發生時告知分析工具。 這是主要的回呼介面,CLR 會透過此介面與程式碼剖析工具通訊。
程式碼剖析工具必須實作 ICorProfilerCallback 介面的方法。 對於 .NET Framework 2.0 和較新版本,分析工具也必須實作 ICorProfilerCallback2 方法。 每個方法實作都必須傳回 HRESULT,成功時其值為 S_OK,失敗時則為 E_FAIL。 目前,CLR 會忽略每個回呼所傳回的 HRESULT,但 ICorProfilerCallback::ObjectReferences 除外。
在 Microsoft Windows 登錄中,程式碼剖析工具必須註冊其元件物件模型 (Component Object Model,COM) 物件,該物件會實作 ICorProfilerCallback 和 ICorProfilerCallback2 介面。 程式碼剖析工具會呼叫 ICorProfilerInfo::SetEventMask,訂閱要接收告知的事件。 通常會在分析工具的 ICorProfilerCallback::Initialize 實作中完成此項。 當執行的執行階段處理序中即將發生事件或剛才已發生事件時,分析工具就能夠接收告知。
注意事項 |
---|
分析工具會註冊一個 COM 物件。如果分析工具是針對 .NET Framework 1.0 版或 1.1 版,則該 COM 物件只需要實作 ICorProfilerCallback 的方法。如果是針對 .NET Framework 2.0 版或較新的版本,則 COM 物件也必須實作 ICorProfilerCallback2 的方法。 |
需求
**平台:**請參閱 .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、1.1、1.0