ICorProfilerInfo2 接口
提供一些方法,以便代码探查器可以通过与公共语言运行时 (CLR) 通信来控制事件监视和请求信息。 ICorProfilerInfo2 接口是 ICorProfilerInfo 接口的扩展。 也就是说,它提供在 .NET Framework 2.0 版及更高版本中受支持的新方法。
方法
方法 |
说明 |
---|---|
审核指定线程的堆栈,以便向探查器报告托管调用帧。 |
|
获取一个允许对指定模块中的冻结对象进行迭代的枚举数。 |
|
获取指定应用程序域静态字段在指定应用程序域范围内的地址。 |
|
获取有关数组对象的详细信息。 |
|
获取有关已装箱的指定值类型的类布局的信息。 |
|
使用指定的元数据标记和任何类型参数的 ClassID 值获取类型的 ClassID。 |
|
获取指定泛型类的父模块、该类的元数据标记、其父类的 ClassID 以及该类的每个类型参数的 ClassID(如果存在)。 |
|
获取有关由指定类定义的字段在内存中的布局的信息。 即,此方法获取该类的字段的偏移量。 |
|
获取与指定的 FunctionID 关联的本机代码的范围。 |
|
获取指定上下文范围内的指定上下文静态字段的地址。 |
|
使用指定的元数据标记、包含类和任意类型参数的 ClassID 值来获取某个函数的 FunctionID。 |
|
获取函数的父类、元数据标记以及每个类型参数的 ClassID(如果存在)。 |
|
获取组成垃圾回收的堆的代的内存区域(堆的段)。 |
|
获取即将运行或刚运行的异常子句 (catch/finally/filter) 的本机地址和帧信息。 |
|
获取包含指定对象的堆的段。 |
|
获取指定的相对虚拟地址 (RVA) 静态字段的地址。 |
|
获取指定字段在其中为静态字段的范围。 |
|
获取有关字符串对象的布局的信息。 |
|
获取指定线程当前正在其中执行代码的应用程序域的 ID。 |
|
获取指定线程范围内的指定线程静态字段的地址。 |
|
指定要在托管函数的“enter”、“leave”和“tailcall”挂钩上调用的探查器实现的函数。 |
备注
探查器通过调用 ICorProfilerInfo2 接口中的方法与 CLR 通信,以此来控制事件监视和请求信息。
ICorProfilerInfo2 接口的方法由 CLR 使用自由线程模型实现。 每个方法都会返回一个指示成功或失败的 HRESULT。 有关可能的返回代码的列表,请参见 CorError.h 文件。
在初始化过程中,CLR 会使用每个代码探查器的 ICorProfilerCallback::Initialize 实现向该探查器传递一个 ICorProfilerInfo2 接口。 这样,代码探查器便可以调用 ICorProfilerInfo2 接口的方法,以获取有关要在 CLR 的控制下执行的托管代码的信息。
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**CorProf.idl、CorProf.h
**库:**CorGuids.lib
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0