次の方法で共有


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 以降で使用可能

関連項目