Compartilhar via


_CrtDumpMemoryLeaks

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 );

Retornar valor

_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 funções de estado de heap e a estrutura, consulte Funções de relatório de estado de _CrtMemState 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 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.

Confira também

Rotinas de depuração