ICorProfilerCallback 接口

提供公共语言运行时(CLR)用于在探查器订阅的事件时通知代码探查器的方法。

Methods

方法 Description
AppDomainCreationFinished 方法 通知探查器已创建应用程序域。
AppDomainCreationStarted 方法 通知探查器正在创建应用程序域。
AppDomainShutdownFinished 方法 通知探查器应用程序域已从进程卸载。
AppDomainShutdownStarted 方法 通知探查器正在从进程卸载应用程序域。
AssemblyLoadFinished 方法 通知探查器程序集已完成加载。
AssemblyLoadStarted 方法 通知探查器正在加载程序集。
AssemblyUnloadFinished 方法 通知探查器已卸载程序集。
AssemblyUnloadStarted 方法 通知探查器正在卸载程序集。
ClassLoadFinished 方法 通知探查器类已完成加载。
ClassLoadStarted 方法 通知探查器正在加载类。
ClassUnloadFinished 方法 通知探查器类已完成卸载。
ClassUnloadStarted 方法 通知探查器正在卸载类。
COMClassicVTableCreated 方法 通知探查器已为指定的 IID 和类创建运行时可调用包装器(RCW)。
COMClassicVTableDestroyed 方法 通知探查器正在销毁 RCW。
ExceptionCatcherEnter 方法 通知探查器控件正在传递到相应的 catch 块。
ExceptionCatcherLeave 方法 通知探查器控件正在从相应的 catch 块传出。
ExceptionCLRCatcherExecute 方法 .NET Framework 版本 2.0 中已过时。
ExceptionCLRCatcherFound 方法 .NET Framework 2.0 中已过时。
ExceptionOSHandlerEnter 方法 未实现。 需要非托管异常信息的探查器必须通过其他方式获取此信息。
ExceptionOSHandlerLeave 方法 未实现。 需要非托管异常信息的探查器必须通过其他方式获取此信息。
ExceptionSearchCatcherFound 方法 通知探查器异常处理的搜索阶段已找到引发的异常的处理程序。
ExceptionSearchFilterEnter 方法 通知探查器正在执行用户筛选器。
ExceptionSearchFilterLeave 方法 通知探查器用户筛选器刚刚执行完毕。
ExceptionSearchFunctionEnter 方法 通知探查器异常处理的搜索阶段已进入函数。
ExceptionSearchFunctionLeave 方法 通知探查器异常处理的搜索阶段已完成搜索函数。
ExceptionThrown 方法 通知探查器已引发异常。
ExceptionUnwindFinallyEnter 方法 通知探查器异常处理的展开阶段正在输入 finally 指定函数中包含的子句。
ExceptionUnwindFinallyLeave 方法 通知探查器异常处理的展开阶段已离开子 finally 句。
ExceptionUnwindFunctionEnter 方法 通知探查器异常处理的展开阶段已进入函数。
ExceptionUnwindFunctionLeave 方法 通知探查器异常处理的展开阶段已完成展开函数。
FunctionUnloadStarted 方法 通知探查器运行时已开始卸载函数。
Initialize 方法 每当启动新的 CLR 应用程序时,调用以初始化探查器。
JITCachedFunctionSearchFinished 方法 通知探查器搜索已完成以前使用 NGen.exe编译的函数。
JITCachedFunctionSearchStarted 方法 通知探查器,搜索已开始使用 NGen.exe编译的函数。
JITCompilationFinished 方法 通知探查器 JIT 编译器已完成编译函数。
JITCompilationStarted 方法 通知探查器实时 (JIT) 编译器已开始编译函数。
JITFunctionPitched 方法 通知探查器已从内存中删除已编译 JIT 的函数。
JITInlining 方法 通知探查器 JIT 编译器即将插入与另一个函数相一致的函数。
ManagedToUnmanagedTransition 方法 通知探查器已发生从托管代码转换为非托管代码。
ModuleAttachedToAssembly 方法 通知探查器模块正在附加到其父程序集。
ModuleLoadFinished 方法 通知探查器模块已完成加载。
ModuleLoadStarted 方法 通知探查器正在加载模块。
ModuleUnloadFinished 方法 通知探查器模块已完成卸载。
ModuleUnloadStarted 方法 通知探查器正在卸载模块。
MovedReferences 方法 通知探查器垃圾回收期间移动的对象引用。
ObjectAllocated 方法 通知探查器已为对象分配堆中的内存。
ObjectReferences 方法 通知探查器指定对象引用的内存中的对象。
ObjectsAllocatedByClass 方法 通知探查器自上一次垃圾回收以来创建的每个指定类的实例数。
RemotingClientInvocationFinished 方法 通知探查器远程调用已在客户端上运行以完成。
RemotingClientInvocationStarted 方法 通知探查器远程调用已启动。
RemotingClientReceivingReply 方法 通知探查器远程处理调用的服务器端部分已完成,客户端现在正在接收并即将处理答复。
RemotingClientSendingMessage 方法 通知探查器客户端正在向服务器发送请求。
RemotingServerInvocationReturned 方法 通知探查器进程已完成调用方法以响应远程方法调用请求。
RemotingServerInvocationStarted 方法 通知探查器进程正在调用方法以响应远程方法调用请求。
RemotingServerReceivingMessage 方法 通知探查器进程正在接收远程方法调用或激活请求。
RemotingServerSendingReply 方法 通知探查器进程已完成处理远程方法调用请求,并即将通过通道传输回复。
RootReferences 方法 向探查器通知垃圾回收后有关根引用的信息。
RuntimeResumeFinished 方法 通知探查器运行时已恢复所有运行时线程并返回到正常作。
RuntimeResumeStarted 方法 通知探查器运行时正在恢复所有运行时线程。
RuntimeSuspendAborted 方法 通知探查器运行时中止了发生的运行时挂起。
RuntimeSuspendFinished 方法 通知探查器运行时已完成所有运行时线程的挂起。
RuntimeSuspendStarted 方法 通知探查器运行时即将挂起所有运行时线程。
RuntimeThreadResumed 方法 通知探查器指定线程在挂起后已恢复。
RuntimeThreadSuspended 方法 通知探查器指定的线程已暂停或即将挂起。
Shutdown 方法 通知探查器应用程序正在关闭。
ThreadAssignedToOSThread 方法 通知探查器正在使用特定作系统 (OS) 线程实现托管线程。
ThreadCreated 方法 通知探查器已创建线程。
ThreadDestroyed 方法 通知探查器线程已被销毁。
UnmanagedToManagedTransition 方法 通知探查器发生从非托管代码转换到托管代码。

注解

CLR 调用 (或 ICorProfilerCallback2) 接口中的ICorProfilerCallback方法,以在事件(探查器已订阅的事件)发生时通知探查器。 这是 CLR 与代码探查器通信的主要回调接口。

代码探查器必须实现接口的方法 ICorProfilerCallback 。 对于 .NET Framework 2.0 或更高版本,探查器还必须实现 ICorProfilerCallback2 方法。 每个方法实现都必须返回一个 HRESULT,该值在成功或失败时E_FAIL S_OK。 目前,CLR 会忽略除 ICorProfilerCallback::ObjectReferences 以外的每个回调返回的 HRESULT。

在 Microsoft Windows 注册表中,代码探查器必须注册其实现 ICorProfilerCallbackICorProfilerCallback2 接口的组件对象模型 (COM) 对象。 代码探查器通过调用 ICorProfilerInfo::SetEventMask 订阅要接收通知的事件。 这通常在探查器的 ICorProfilerCallback::Initialize 实现中完成。 然后,当事件即将发生或刚刚发生在正在执行的运行时进程中时,探查器能够从运行时接收通知。

注释

探查器注册单个 COM 对象。 如果探查器面向 .NET Framework 版本 1.0 或 1.1,则 COM 对象只需实现以下 ICorProfilerCallback方法: 如果它面向 .NET Framework 2.0 或更高版本,则 COM 对象还必须实现 . ICorProfilerCallback2NET Framework 的方法。

要求

平台:请参阅系统要求

页眉: CorProf.idl、CorProf.h

图书馆: CorGuids.lib

.NET Framework 版本:自 1.0 起可用

另请参阅