_CrtCheckMemory
Confirma a integridade dos blocos de memória alocados no heap de depuração (somente versão de depuração).
Sintaxe
int _CrtCheckMemory( void );
Retornar valor
Se for bem-sucedido, retorna, caso contrário, _CrtCheckMemory
a função retornará TRUE
FALSE
.
Comentários
A função _CrtCheckMemory
valida a memória alocada pelo gerenciador de heap de depuração verificando o heap base subjacente e inspecionando todos os blocos de memória. Se for encontrado um erro ou uma inconsistência de memória no heap base subjacente, nas informações de cabeçalho de depuração ou nos buffers de substituição, _CrtCheckMemory
gerará um relatório de depuração com informações que descrevem a condição de erro. Quando _DEBUG
não está definido, as chamadas para _CrtCheckMemory
são removidas durante o pré-processamento.
O comportamento de pode ser controlado definindo os campos de _CrtCheckMemory
bit do _crtDbgFlag
sinalizador usando a _CrtSetDbgFlag
função. Ativar o _CRTDBG_CHECK_ALWAYS_DF
campo de bits resulta em _CrtCheckMemory
ser chamado toda vez que uma operação de alocação de memória é solicitada. Embora esse método retarde a execução, ele é útil para detectar erros rapidamente. Desativar o campo de bits faz com que _CrtCheckMemory
não verifique o _CRTDBG_ALLOC_MEM_DF
heap e retorne TRUE
imediatamente.
Como essa função retorna TRUE
ou FALSE
, ela pode ser passada para uma das macros para criar um mecanismo básico de tratamento de erros de _ASSERT
depuração. O seguinte exemplo causa uma falha de asserção se o dano é detectado no heap:
_ASSERTE( _CrtCheckMemory( ) );
Para obter mais informações sobre como _CrtCheckMemory
pode ser usado com outras funções de depuração, consulte Funções de relatório de estado de heap. Para obter uma visão geral do gerenciamento de memória e do heap de depuração, consulte Detalhes do heap de depuração CRT.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_CrtCheckMemory |
<crtdbg.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas
Somente versões de depuração de bibliotecas de tempo de execução C.
Exemplo
Para encontrar um exemplo de como usar _CrtCheckMemory
, confira crt_dbg1
.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de