_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