ICorDebugProcess5::EnumerateHeap 方法

获取托管堆上对象的枚举器。

Syntax

HRESULT EnumerateHeap(
    [out] ICorDebugHeapEnum **ppObjects
);

参数

ppObject [out]指向 ICorDebugHeapEnum 接口对象的地址的指针,该对象是托管堆上的对象枚举器。

注解

在调用ICorDebugProcess5::EnumerateHeap该方法之前,应调用 ICorDebugProcess5::GetGCHeapInformation 方法并检查返回的 COR_HEAPINFO 对象的字段的值areGCStructuresValid,以确保其当前状态中的垃圾回收堆可枚举。 此外, ICorDebugProcess5::EnumerateHeap 如果在进程的生存期内附加时间过早,则返回结果 E_FAIL ,然后再分配托管堆的内存。

ICorDebugHeapEnum 接口对象是从 ICorDebugEnum 接口派生的标准枚举器,可用于枚举COR_HEAPOBJECT对象。 此方法使用COR_HEAPOBJECT实例填充 ICorDebugHeapEnum 集合对象,这些实例提供有关所有对象的信息。 该集合还可能包括 COR_HEAPOBJECT 实例,这些实例提供有关未由任何对象植根但尚未由垃圾回收器收集的对象的信息。

要求

平台: 请参阅 .NET 支持的作系统

页眉: CorDebug.idl、CorDebug.h

图书馆: CorGuids.lib

.NET 版本: 自 .NET Framework 4.5 起可用

另请参阅