ICorProfilerInfo2 接口

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

方法

方法 说明
DoStackSnapshot 方法 审核指定线程的堆栈来将托管调用帧报告给探查器。
EnumModuleFrozenObjects 方法 获取一个枚举器,该枚举器允许对指定模块中冻结的对象进行迭代。
GetAppDomainStaticAddress 方法 获取指定应用程序域范围内的指定应用程序域静态字段的地址。
GetArrayObjectInfo 方法 获取有关数组对象的详细信息。
GetBoxClassLayout 方法 获取有关已装箱的指定值类型的类布局的信息。
GetClassFromTokenAndTypeArgs 方法 通过使用指定的元数据标记和任何类型参数的 ClassID 值获取类型的 ClassID
GetClassIDInfo2 方法 获取指定泛型类的父模块、该类的元数据标记、其父类的 ClassID 以及该类的每个类型参数(如果存在)的 ClassID
GetClassLayout 方法 获取内存中由指定的类定义的字段的布局信息。 也就是说,此方法获取类的字段的偏移量。
GetCodeInfo2 方法 获取与指定 FunctionID 关联的本机代码的范围。
GetContextStaticAddress 方法 获取指定上下文范围内指定上下文静态字段的地址。
GetFunctionFromTokenAndTypeArgs 方法 通过使用指定的元数据标记、包含类和任何类型参数的 ClassID 值获取函数的 FunctionID
GetFunctionInfo2 方法 获取每个类型参数或某个函数(如果存在)的父类、元数据标记和 ClassID
GetGenerationBounds 方法 获取构成各代垃圾回收的堆的内存区域(堆段)。
GetNotifiedExceptionClauseInfo 方法 获取即将运行或刚刚才运行的异常子句 (catch/finally/filter) 的本机地址和帧信息。
GetObjectGeneration 方法 获取包含指定对象的堆段。
GetRVAStaticAddress 方法 获取指定相对虚拟地址 (RVA) 静态字段的地址。
GetStaticFieldInfo 方法 获取指定字段处于静态的范围。
GetStringLayout 方法 获取有关字符串对象布局的信息。
GetThreadAppDomain 方法 获取指定线程当前正在其中执行代码的应用程序域的 ID。
GetThreadStaticAddress 方法 获取指定线程范围内指定线程静态字段的地址。
SetEnterLeaveFunctionHooks2 方法 指定在托管函数的“进入”、“离开”和“尾调用”挂钩上调用的探查器实现函数。

注解

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

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

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

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅