Partilhar via


Método ICorDebugProcess5::EnumerateHeap

Obtém um enumerador para os objetos no heap gerenciado.

Sintaxe

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

Parâmetros

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

Observações

Antes de chamar o ICorDebugProcess5::EnumerateHeap método, você deve chamar o método ICorDebugProcess5::GetGCHeapInformation e examinar o areGCStructuresValid valor do 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 retornos E_FAIL se você anexar muito cedo no tempo de vida do processo, antes que a memória para o 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 instâncias de COR_HEAPOBJECT que fornecem informações sobre todos os objetos. A coleta também pode incluir instâncias COR_HEAPOBJECT que fornecem informações sobre objetos que não estão enraizados por nenhum objeto, mas ainda não foram coletados pelo coletor de lixo.

Requisitos

Plataformas: Consulte Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: Disponível desde a versão 4.5

Consulte também