Compartilhar via


Método ICorDebugProcess5::EnumerateHeapRegions

Obtém um enumerador para os intervalos de memória do heap gerenciado.

Sintaxe

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

Parâmetros

ppRegions [fora] Um ponteiro para o endereço de um objeto de interface ICorDebugHeapSegmentEnum que é um enumerador para os intervalos de memória nos quais os objetos residem no heap gerenciado.

Comentários

Antes de chamar o ICorDebugProcess5::EnumerateHeapRegions 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, o ICorDebugProcess5::EnumerateHeapRegions método retorna E_FAIL se você anexar muito cedo no tempo de vida do processo, antes que as regiões de memória sejam criadas.

Esse método tem a garantia de enumerar todas as regiões de memória que podem conter objetos gerenciados, mas não garante que os objetos gerenciados realmente residam nessas regiões. O objeto de coleção ICorDebugHeapSegmentEnum pode incluir regiões de memória vazias ou reservadas.

O objeto de interface ICorDebugHeapSegmentEnum é um enumerador padrão derivado da interface ICorDebugEnum que permite enumerar objetos COR_SEGMENT. Cada objeto COR_SEGMENT fornece informações sobre o intervalo de memória de um determinado segmento, juntamente com a geração dos objetos nesse segmento.

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