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 起可用