Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Despeja todos os blocos de memória no heap de depuração quando ocorre uma perda de memória (somente versão de depuração).
Sintaxe
int _CrtDumpMemoryLeaks( void );
Valor retornado
_CrtDumpMemoryLeaks
retornará TRUE
se for encontrada uma perda de memória. Caso contrário, a função retorna FALSE
.
Comentários
A função _CrtDumpMemoryLeaks
determina se ocorreu uma perda de memória desde o início da execução do programa. Quando uma perda é encontrada, as informações de cabeçalho de depuração de todos os objetos no heap são despejadas em um formato legível pelo usuário. Quando _DEBUG
não está definido, as chamadas para _CrtDumpMemoryLeaks
são removidas durante o pré-processamento.
_CrtDumpMemoryLeaks
é chamado com frequência ao final da execução do programa para verificar se toda a memória alocada pelo aplicativo foi liberada. A função pode ser chamada automaticamente no encerramento do programa, por meio da ativação do campo de bits _CRTDBG_LEAK_CHECK_DF
do sinalizador _crtDbgFlag
usando a função _CrtSetDbgFlag
.
_CrtDumpMemoryLeaks
chama _CrtMemCheckpoint
para obter o estado atual do heap e, em seguida, examina o estado em busca de blocos que não foram liberados. Quando um bloco não liberado é encontrado, _CrtDumpMemoryLeaks
chama _CrtMemDumpAllObjectsSince
para despejar informações de todos os objetos alocados no heap a após o início da execução do programa.
Por padrão, os blocos internos do runtime do C (_CRT_BLOCK
) não são incluídos em operações de despejo de memória. A função _CrtSetDbgFlag
pode ser usada para ativar o bit _CRTDBG_CHECK_CRT_DF
de _crtDbgFlag
para incluir esses blocos no processo de detecção de perda.
Para obter mais informações sobre as funções de estado do heap e a estrutura _CrtMemState
, consulte Funções de relatório de estado do heap. Para obter mais informações sobre como os blocos de memória são alocados, inicializados e gerenciados na versão de depuração do heap de base, consulte Detalhes do heap de depuração CRT.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_CrtDumpMemoryLeaks |
<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 _CrtDumpMemoryLeaks
, confira crt_dbg1
.