共用方式為


ICorProfilerCallback 介面

提供方法,讓 Common Language Runtime (CLR) 在分析工具已訂閱的事件發生時,用於告知程式碼剖析工具。

方法

方法

描述

ICorProfilerCallback::AppDomainCreationFinished 方法

向分析工具告知已建立應用程式定義域。

ICorProfilerCallback::AppDomainCreationStarted 方法

向分析工具告知正在建立應用程式定義域。

ICorProfilerCallback::AppDomainShutdownFinished 方法

向分析工具告知已從處理序卸載應用程式定義域。

ICorProfilerCallback::AppDomainShutdownStarted 方法

向分析工具告知正在從處理序卸載應用程式定義域。

ICorProfilerCallback::AssemblyLoadFinished 方法

向分析工具告知已完成載入組件。

ICorProfilerCallback::AssemblyLoadStarted 方法

向分析工具告知正在載入組件。

ICorProfilerCallback::AssemblyUnloadFinished 方法

向分析工具告知已卸載組件。

ICorProfilerCallback::AssemblyUnloadStarted 方法

向分析工具告知正在卸載組件。

ICorProfilerCallback::ClassLoadFinished 方法

向分析工具告知已完成載入類別。

ICorProfilerCallback::ClassLoadStarted 方法

通知分析工具,表示正在載入類別。

ICorProfilerCallback::ClassUnloadFinished 方法

向分析工具告知已完成卸載類別。

ICorProfilerCallback::ClassUnloadStarted 方法

通知分析工具,表示正在卸載類別。

ICorProfilerCallback::COMClassicVTableCreated 方法

向分析工具告知已建立指定之 IID 和類別的執行階段可呼叫包裝函式 (RCW)。

ICorProfilerCallback::COMClassicVTableDestroyed 方法

向分析工具告知正在終結 RCW。

ICorProfilerCallback::ExceptionCatcherEnter 方法

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

ICorProfilerCallback::ExceptionCatcherLeave 方法

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

ICorProfilerCallback::ExceptionCLRCatcherExecute 方法

在 .NET Framework 2.0 版中已過時。

ICorProfilerCallback::ExceptionCLRCatcherFound 方法

在 .NET Framework 2.0 中已過時。

ICorProfilerCallback::ExceptionOSHandlerEnter 方法

尚未實作。 需要 Unmanaged 例外狀況資訊的分析工具必須透過其他方法取得這項資訊。

ICorProfilerCallback::ExceptionOSHandlerLeave 方法

尚未實作。 需要 Unmanaged 例外狀況資訊的分析工具必須透過其他方法取得這項資訊。

ICorProfilerCallback::ExceptionSearchCatcherFound 方法

向分析工具告知,例外處理的搜尋階段找到所擲回的例外狀況的處理常式。

ICorProfilerCallback::ExceptionSearchFilterEnter 方法

向分析工具告知,正在執行使用者篩選。

ICorProfilerCallback::ExceptionSearchFilterLeave 方法

向分析工具告知,剛才已完成執行使用者篩選。

ICorProfilerCallback::ExceptionSearchFunctionEnter 方法

向分析工具告知,例外處理的搜尋階段已進入函式。

ICorProfilerCallback::ExceptionSearchFunctionLeave 方法

向分析工具告知,例外處理的搜尋階段已完成搜尋函式。

ICorProfilerCallback::ExceptionThrown 方法

向分析工具告知,已擲回例外狀況。

ICorProfilerCallback::ExceptionUnwindFinallyEnter 方法

向分析工具告知,例外處理的回溯階段正在進入指定之函式中所包含的 finally 子句。

ICorProfilerCallback::ExceptionUnwindFinallyLeave 方法

向分析工具告知,例外處理的回溯階段已離開 finally 子句。

ICorProfilerCallback::ExceptionUnwindFunctionEnter 方法

告知分析工具,例外處理的回溯階段已進入函式。

ICorProfilerCallback::ExceptionUnwindFunctionLeave 方法

向分析工具告知,例外處理的回溯階段已完成回溯函式。

ICorProfilerCallback::FunctionUnloadStarted 方法

向分析工具告知執行階段已開始卸載函式。

ICorProfilerCallback::Initialize 方法

呼叫以便於每次啟動新的 CLR 應用程式時初始化分析工具。

ICorProfilerCallback::JITCachedFunctionSearchFinished 方法

向分析工具告知已完成搜尋先前使用 NGen.exe 所編譯的函式。

ICorProfilerCallback::JITCachedFunctionSearchStarted 方法

向分析工具告知已開始搜尋先前使用 NGen.exe 所編譯的函式。

ICorProfilerCallback::JITCompilationFinished 方法

向分析工具告知 JIT 編譯器已完成函式的編譯。

ICorProfilerCallback::JITCompilationStarted 方法

向分析工具告知 Just-In-Time (JIT) 編譯器已開始編譯函式。

ICorProfilerCallback::JITFunctionPitched 方法

向分析工具告知已從記憶體移除 JIT 編譯函式。

ICorProfilerCallback::JITInlining 方法

向分析工具告知 JIT 編譯器即將插入函式來配合另一個函式。

ICorProfilerCallback::ManagedToUnmanagedTransition 方法

向分析工具告知,已發生從 Managed 程式碼到 Unmanaged 程式碼的轉換。

ICorProfilerCallback::ModuleAttachedToAssembly 方法

向分析工具告知正在將模組附加至其父組件。

ICorProfilerCallback::ModuleLoadFinished 方法

向分析工具告知已完成載入模組。

ICorProfilerCallback::ModuleLoadStarted 方法

向分析工具告知正在載入模組。

ICorProfilerCallback::ModuleUnloadFinished 方法

向分析工具告知模組已完成卸載。

ICorProfilerCallback::ModuleUnloadStarted 方法

向分析工具告知正在卸載模組。

ICorProfilerCallback::MovedReferences 方法

向分析工具告知記憶體回收期間移動的物件參考。

ICorProfilerCallback::ObjectAllocated 方法

向分析工具告知,堆積中的記憶體已配置給物件。

ICorProfilerCallback::ObjectReferences 方法

向分析工具告知,記憶體中由指定的物件所參考的物件。

ICorProfilerCallback::ObjectsAllocatedByClass 方法

向分析工具告知,自上一次記憶體回收之後,已建立的每個指定之類別的執行個體數目。

ICorProfilerCallback::RemotingClientInvocationFinished 方法

向分析工具告知,遠端呼叫已經在用戶端上執行完成。

ICorProfilerCallback::RemotingClientInvocationStarted 方法

向分析工具告知已啟動遠端呼叫。

ICorProfilerCallback::RemotingClientReceivingReply 方法

向分析工具告知,遠端呼叫的伺服器端部分已經完成,而且用戶端正在接收且即將要處理回覆。

ICorProfilerCallback::RemotingClientSendingMessage 方法

向分析工具告知用戶端正在將要求傳送至伺服器。

ICorProfilerCallback::RemotingServerInvocationReturned 方法

向分析工具告知,處理序已完成叫用方法以回應遠端方法引動過程要求。

ICorProfilerCallback::RemotingServerInvocationStarted 方法

向分析工具告知,處理序正在叫用方法以回應遠端方法引動過程要求。

ICorProfilerCallback::RemotingServerReceivingMessage 方法

向分析工具告知,處理序正在接收遠端方法引動過程或啟動要求。

ICorProfilerCallback::RemotingServerSendingReply 方法

向分析工具告知,處理序已完成處理遠端方法引動過程要求,並且即將透過通道傳送回覆。

ICorProfilerCallback::RootReferences 方法

向分析工具告知記憶體回收之後根參考的相關資訊。

ICorProfilerCallback::RuntimeResumeFinished 方法

向分析工具告知,執行階段已繼續所有執行階段執行緒,並已恢復正常作業。

ICorProfilerCallback::RuntimeResumeStarted 方法

向分析工具告知,執行階段正在繼續所有的執行階段執行緒。

ICorProfilerCallback::RuntimeSuspendAborted 方法

向分析工具告知,執行階段已中止之前發生的執行階段暫止。

ICorProfilerCallback::RuntimeSuspendFinished 方法

向分析工具告知,執行階段已完成所有執行階段執行緒的暫止。

ICorProfilerCallback::RuntimeSuspendStarted 方法

向分析工具告知,執行階段即將要暫止所有的執行階段執行緒。

ICorProfilerCallback::RuntimeThreadResumed 方法

向分析工具告知,指定的執行緒已在暫止後繼續。

ICorProfilerCallback::RuntimeThreadSuspended 方法

向分析工具告知,指定的執行緒已暫止或即將暫止。

ICorProfilerCallback::Shutdown 方法

向分析工具告知應用程式正在關閉。

ICorProfilerCallback::ThreadAssignedToOSThread 方法

向分析工具告知,正在使用特定的作業系統 (OS) 執行緒實作 Managed 執行緒。

ICorProfilerCallback::ThreadCreated 方法

向分析工具告知已建立執行緒。

ICorProfilerCallback::ThreadDestroyed 方法

向分析工具告知已終結執行緒。

ICorProfilerCallback::UnmanagedToManagedTransition 方法

向分析工具告知,已發生從 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) 物件,該物件會實作 ICorProfilerCallbackICorProfilerCallback2 介面。 程式碼剖析工具會呼叫 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

請參閱

參考

ICorProfilerCallback2 介面

其他資源

分析介面