COR_HEAPOBJECT 结构

提供有关托管堆上的对象的信息。

语法

typedef struct _COR_HEAPOBJECT {
    CORDB_ADDRESS address;
    ULONG64 size;
    COR_TYPEID type;
} COR_HEAPOBJECT;

成员

成员 说明
address 内存中对象的地址。
size 对象的总大小(以字节为单位)。
type 表示对象类型的 COR_TYPEID 标记。

备注

可以通过枚举使用调用 ICorDebugProcess5::EnumerateHeap 方法填充的 ICorDebugHeapEnum 接口对象来检索 COR_HEAPOBJECT 实例。

COR_HEAPOBJECT 实例提供有关托管堆上的活动对象的信息,或有关未由任何对象根化但尚未被垃圾收集器收集的对象的信息。

为了获得更好的性能,该 COR_HEAPOBJECT.address 字段是一个 CORDB_ADDRESS 值,而不是大部分调试 API 中使用的 ICorDebugValue 接口值。 若要获取给定对象地址的 ICorDebugValue 对象,可以将 CORDB_ADDRESS 值传递给 ICorDebugProcess5::GetObject 方法。

为了获得更好的性能,该 COR_HEAPOBJECT.type 字段是一个 COR_TYPEID 值,而不是大部分调试 API 中使用的 ICorDebugType 接口值。 若要获取给定类型 ID 的 ICorDebugType 对象,可以将 COR_TYPEID 值传递给 ICorDebugProcess5::GetTypeForTypeID 方法。

COR_HEAPOBJECT 结构包含引用计数的 COM 接口。 如果通过调用 ICorDebugHeapEnum::Next 方法检索枚举器中的 COR_HEAPOBJECT 实例,则必须随后释放该引用。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 4.5 起可用

请参阅