ICorDebugProcess5::EnumerateHeapRegions 方法

获取针对托管堆的内存范围的枚举器。

语法

HRESULT EnumerateHeapRegions(
   [out] ICorDebugHeapSegmentEnum **ppRegions
);

参数

ppRegions[out]指向 ICorDebugHeapSegmentEnum 接口对象的地址的指针,该对象是托管堆中对象所在内存范围的枚举器。

注解

在调用 ICorDebugProcess5::EnumerateHeapRegions 方法之前,应调用 ICorDebugProcess5::GetGCHeapInformation 方法并检查返回的 COR_HEAPINFO 对象的 areGCStructuresValid 字段的值,以确保当前状态下的垃圾回收堆是可枚举的。 此外,如果在创建内存区域之前在进程的生存期中过早地附加,ICorDebugProcess5::EnumerateHeapRegions 方法会返回 E_FAIL

此方法保证枚举可能包含托管对象的所有内存区域,但不保证托管对象实际驻留在这些区域中。 ICorDebugHeapSegmentEnum 集合对象可能包含空内存区域或预留的内存区域。

ICorDebugHeapSegmentEnum 接口对象是从允许你枚举 COR_SEGMENT 对象的 ICorDebugEnum 接口派生的标准枚举器。 每个 COR_SEGMENT 对象提供有关特定段的内存范围以及该段中对象的生成的信息。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 4.5 起可用

请参阅