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 インスタンスも、コレクションに含まれている可能性があります。

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4.5 以降で使用可能

関連項目