Compartilhar via


_CrtCheckMemory

Confirma a integridade dos blocos de memória alocado no heap de depuração (versão de depuração somente).

int _CrtCheckMemory( void );

Valor de retorno

Se tiver êxito, _CrtCheckMemory retornará TRUE; caso contrário, a função retornará FALSE.

Comentários

A função de _CrtCheckMemory valida a memória alocada pelo gerenciador de heap de depuração verificando o heap de base subjacente e inspecionando cada bloco de memória. Se uma inconsistência de erro ou de memória é encontrada no heap de base subjacente, nas informações de cabeçalho de depuração, ou nos buffers de substituição, _CrtCheckMemory gerencie um relatório de depuração com informações que descrevem a condição de erro. Quando _DEBUG não for definido, as chamadas para _CrtCheckMemory serão removidos durante pré-processamento.

O comportamento de _CrtCheckMemory pode ser controlado definindo os campos de bit do sinalizador de _crtDbgFlag usando a função de _CrtSetDbgFlag . Girando o bit de _CRTDBG_CHECK_ALWAYS_DF coloque resultados em _CrtCheckMemory que está sendo chamado sempre que uma operação de alocação de memória é solicitada. Embora esse método lenta a execução, é útil para capturar erros rapidamente. Girando o campo de bit de _CRTDBG_ALLOC_MEM_DF OFF faz _CrtCheckMemory verificar o heap e retorne imediatamente Verdadeiro.

Como essa função retorna Verdadeiro ou Falso, pode ser transmitido para um de macros de _ASSERT para criar um mecanismo simples de tratamento de erros de depuração. O exemplo a seguir faz com que uma falha de asserção se o dano for detectado no heap:

_ASSERTE( _CrtCheckMemory( ) );

Para obter mais informações sobre como _CrtCheckMemory pode ser usado com outras funções de depuração, consulte Estado do heap que informa funções. Para obter uma visão geral do gerenciamento da memória e de heap de depuração, consulte Detalhes da pilha de depuração CRT.

Requisitos

Rotina

Cabeçalho necessário

_CrtCheckMemory

<crtdbg.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.

Bibliotecas

Versões de depuração das Bibliotecas em tempo de execução C somente.

Exemplo

Para obter um exemplo de como usar _CrtCheckMemory, consulte crt_dbg1.

Equivalência do .NET Framework

System::Diagnostics::PerformanceCounter

Consulte também

Referência

Rotinas de depuração

_crtDbgFlag

_CrtSetDbgFlag