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.