ICorProfilerInfo 接口

提供了一些方法,供代码探查器用来与公共语言运行时 (CLR) 通信,以控制事件监视并请求信息。

注意

ICorProfilerInfo 接口中的每个方法均返回一个 HRESULT,指示成功或失败。 有关可能的返回代码的列表,请参阅 CorError.h。

方法

方法 说明
BeginInprocDebugging 方法 初始化进程内调试支持。 此方法在 .NET Framework 2.0 版中已过时。
EndInprocDebugging 方法 关闭进程内调试会话。 此方法在 .NET Framework 2.0 版中已过时。
ForceGC 方法 强制在运行时内进行垃圾回收。
GetAppDomainInfo 方法 获取有关指定应用程序域的信息。
GetAssemblyInfo 方法 获取有关指定程序集的信息。
GetClassFromObject 方法 获取一个对象的 ClassID

(在给定其 ObjectID 的情况下)。
GetClassFromToken 方法 在给定元数据令牌的情况下,获取类的 ID。 此方法在 .NET Framework 2.0 版中已过时。 改用 ICorProfilerInfo2::GetClassFromTokenAndTypeArgs 方法。
GetClassIDInfo 方法 获取指定类的父模块和元数据令牌。
GetCodeInfo 方法 获取与指定函数 ID 关联的本机代码的范围。 此方法已过时。 改用 ICorProfilerInfo2::GetCodeInfo2 方法。
GetCurrentThreadID 方法 获取当前线程的 ID(如果它是托管线程)。
GetEventMask 方法 获取探查器要为其接收来自 CLR 的事件通知的当前事件类别。
GetFunctionFromIP 方法 将托管代码指令指针映射到 FunctionID
GetFunctionFromToken 方法 获取函数的 ID。 此方法在 .NET Framework 2.0 版中已过时。 改用 ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs 方法。
GetFunctionInfo 方法 获取指定函数的父类和元数据标记。
GetHandleFromThread 方法 将线程的 ID 映射到 Win32 线程句柄。
GetILFunctionBody 方法 获取指向公共中间语言 (CIL) 代码中方法正文的指针,从其标头开始。
GetILFunctionBodyAllocator 方法 获取一个接口,该接口提供用于分配内存的方法,用于在 CIL 代码中交换方法的主体。
GetILToNativeMapping 方法 获取从 CIL 偏移量到指定函数中包含的代码的本机偏移量的映射。
GetInprocInspectionInterface 方法 获取一个对象,该对象可查询 ICorDebugProcess 接口。 此方法在 .NET Framework 2.0 版中已过时。
GetInprocInspectionIThisThread 方法 获取一个对象,该对象可查询 ICorDebugThread 接口。 此方法在 .NET Framework 2.0 版中已过时。
GetModuleInfo 方法 给定模块 ID 后,将返回模块的文件名和模块的父程序集的 ID。
GetModuleMetaData 方法 获取映射到指定模块的元数据接口实例。
GetObjectSize 方法 获取指定对象的大小。
GetThreadContext 方法 获取当前与指定线程关联的上下文标识。
GetThreadInfo 方法 获取指定线程的当前 Win32 线程标识。
GetTokenAndMetadataFromFunction 方法 获取元数据令牌和可用于指定函数的令牌的元数据接口实例。
IsArrayClass 方法 确定指定的类是否是数组类。
SetEnterLeaveFunctionHooks 方法 指定在托管函数的“进入”、“离开”和“尾调用”挂钩上调用的探查器实现函数。
SetEventMask 方法 设置一个值,用于指定探查器要从 CLR 接收其相关通知的事件的类型。
SetFunctionIDMapper 方法 指定将调用以将 FunctionID 值映射至替换值(传递至探查器的输入/退出挂钩)的探查器实现函数。
SetFunctionReJIT 方法 未实现。 请勿使用。
SetILFunctionBody 方法 替换指定模块中指定函数的主体。
SetILInstrumentedCodeMap 方法 指定指定函数的原始 CIL 的偏移量如何映射到函数的探查器修改 CIL 的新偏移量。

注解

探查器调用 ICorProfilerInfo 接口中的方法与 CLR 进行通信以控制事件监视和请求信息。

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

CLR 在初始化期间通过探查器的 ICorProfilerCallback::Initialize 实现向每个代码探查器传递一个 ICorProfilerInfo 接口。 然后,代码探查器可调用 ICorProfilerInfo 接口的方法来获取有关正在 CLR 控制下执行的托管代码的信息。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅