ICorDebugProcess5::EnumerateHeap 方法
获取针对托管堆上的对象的枚举器。
语法
HRESULT EnumerateHeap(
[out] ICorDebugHeapEnum **ppObjects
);
参数
ppObject
[out]指向 ICorDebugHeapEnum 接口对象的地址的指针,该对象是托管堆上的对象枚举器。
注解
在调用 ICorDebugProcess5::EnumerateHeap
方法之前,应调用 ICorDebugProcess5::GetGCHeapInformation 方法并检查返回的 COR_HEAPINFO 对象的 areGCStructuresValid
字段的值,以确保当前状态下的垃圾回收堆是可枚举的。 此外,如果在过程的生命周期中过早附加(分配托管堆的内存之前),则 ICorDebugProcess5::EnumerateHeap
返回 E_FAIL
。
ICorDebugHeapEnum 接口对象是从允许你枚举 COR_HEAPOBJECT 对象的 ICorDebugEnum 接口派生的标准枚举器。 此方法使用提供有关所有对象的信息的 COR_HEAPOBJECT 实例,填充 ICorDebugHeapEnum 集合对象。 集合可能还包含 COR_HEAPOBJECT 实例,这些实例提供有关不是由对象 root 但已由垃圾回收器收集的对象的信息。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 4.5 起可用