Compartilhar via


Método ICorDebugProcess5::EnumerateHeap

Obtém um enumerador para objetos no monte gerenciado.

Sintaxe

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

Parâmetros

ppObject [fora] Um ponteiro para o endereço de um objeto de interface ICorDebugHeapEnum que é um enumerador para os objetos que residem no heap gerenciado.

Comentários

Antes de chamar o ICorDebugProcess5::EnumerateHeap método, você deve chamar o método ICorDebugProcess5::GetGCHeapInformation e examinar o valor do areGCStructuresValid campo do objeto COR_HEAPINFO retornado para garantir que o heap de coleta de lixo em seu estado atual seja enumerável. Além disso, os ICorDebugProcess5::EnumerateHeap retornam E_FAIL se você anexar muito cedo no tempo de vida do processo, antes que a memória do heap gerenciado seja alocada.

O objeto de interface ICorDebugHeapEnum é um enumerador padrão derivado da interface ICorDebugEnum que permite enumerar objetos COR_HEAPOBJECT. Esse método preenche o objeto de coleção ICorDebugHeapEnum com COR_HEAPOBJECT instâncias que fornecem informações sobre todos os objetos. A coleção também pode incluir COR_HEAPOBJECT instâncias que fornecem informações sobre objetos que não estão raizizados por nenhum objeto, mas que ainda não foram coletados pelo coletor de lixo.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 4.5

Confira também