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

请参阅