ICorProfilerInfo3 接口

提供了一些方法,可由代码探查器用于与公共语言运行时 (CLR) 通信,从而控制事件监视并请求信息。 ICorProfilerInfo3 接口是 ICorProfilerInfo2 接口的扩展。 它提供在 .NET Framework 4 及更高版本中受支持的新方法。

方法

方法 说明
EnumJITedFunctions 方法 返回所有先前 JIT 编译的函数的枚举器。
EnumModules 方法 返回一个枚举器,此枚举器提供方法以按顺序循环访问加载到应用程序的托管模块集合。
GetAppDomainsContainingModule 方法 获取其中已加载给定模块的应用程序域的标识符。
GetFunctionEnter3Info 方法 提供 FunctionEnter3WithInfo 函数正在向探查器报告的函数的堆栈帧和自变量信息;仅可在 FunctionEnter3WithInfo 回调期间调用。
GetFunctionLeave3Info 方法 提供FunctionLeave3WithInfo 函数正在向探查器报告的函数的堆栈帧和参数信息;仅可在 FunctionLeave3WithInfo 回调期间调用。
GetFunctionTailcall3Info 方法 提供 FunctionTailcall3WithInfo 函数正在向探查器报告的函数的堆栈帧和参数信息;仅可在 FunctionTailcall3WithInfo 回调期间调用。
GetModuleInfo2 方法 若给定模块 ID,返回模块的文件名、模块父程序集的 ID 以及描述模块属性的位掩码。
GetRuntimeInformation 方法 提供有关正在探查的运行时的版本信息。
GetStringLayout2 方法 获取有关字符串对象布局的信息。
GetThreadStaticAddress2 方法 获取指定线程和应用程序域范围内的指定线程静态字段的地址。
RequestProfilerDetach 方法 指示运行时分离探查器。
SetEnterLeaveFunctionHooks3 方法 指定将在 FunctionEnter3FunctionLeave3FunctionTailcall3 函数上调用的探查器实现函数。
SetEnterLeaveFunctionHooks3WithInfo 方法 指定将在托管函数的 FunctionEnter3WithInfoFunctionLeave3WithInfoFunctionTailcall3WithInfo 挂钩上调用的探查器实现函数。
SetFunctionIDMapper2 方法 指定将调用以将 FunctionID 值映射至替换值(传递至探查器的输入/退出挂钩)的探查器实现函数。 此方法使用探查器可能用于消除运行时间歧义的参数扩展 ICorProfilerInfo::SetFunctionIDMapper

注解

CLR 通过使用自由线程模型实现 ICorProfilerInfo3 接口的方法。 每个方法均返回一个 HRESULT,指示成功或失败。 有关可能的返回代码的列表,请参阅 CorError.h 文件。

在初始化过程中,CLR 通过使用探查器的 ICorProfilerCallback::InitializeICorProfilerCallback3::InitializeForAttach 方法实现,将 ICorProfilerInfo3 接口传递至每个代码探查器。 然后,代码探查器可调用 ICorProfilerInfo3 方法获取有关正在 CLR 控件下执行的托管代码的信息。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 4 起可用

另请参阅