_CrtDumpMemoryLeaks
Despejos todos os blocos de memória heap de depuração quando um vazamento de memória durante (versão de depuração somente).
int _CrtDumpMemoryLeaks( void );
Valor de retorno
_CrtDumpMemoryLeaks retornará TRUE se um vazamento de memória for localizado. Caso contrário, a função retornará FALSE.
Comentários
A função de _CrtDumpMemoryLeaks determina se um vazamento de memória ocorreu desde o início da execução do programa. Quando um escape for localizado, as informações de cabeçalho de depuração para todos os objetos no heap será despejada em um formato legível usuário. Quando _DEBUG não for definido, as chamadas para _CrtDumpMemoryLeaks serão removidos durante pré-processamento.
_CrtDumpMemoryLeaks é chamado no final da execução de programa para verificar se toda a memória alocada pelo aplicativo seja liberada. A função pode ser chamada automaticamente no encerramento de programa ativando o campo de bit de _CRTDBG_LEAK_CHECK_DF do sinalizador de _crtDbgFlag usando a função de _CrtSetDbgFlag .
_CrtDumpMemoryLeaks_CrtMemCheckpoint chama para obter o estado atual do heap e verifique o estado dos blocos que não foram liberados. Quando um bloco unfreed for encontrado, _CrtDumpMemoryLeaks chama _CrtMemDumpAllObjectsSince para despejar informações para todos os objetos alocados no heap desde o início da execução do programa.
Por padrão, os blocos internos de tempo de execução C (_CRT_BLOCK) não são incluídos em operações de despejo de memória. A função de _CrtSetDbgFlag pode ser usada para ativar o bit de _CRTDBG_CHECK_CRT_DF de _crtDbgFlag para incluir estes blocos no processo de detecção de escape.
Para obter mais informações sobre as funções de estado da heap e a estrutura de _CrtMemState, consulte Funções de relatório sobre o estado da heap. Para obter mais informações sobre como os blocos de memória são atribuídos, inicializados, e gerenciados na versão de depuração da heap de base, consulte Detalhes da pilha de depuração CRT.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_CrtDumpMemoryLeaks |
<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 _CrtDumpMemoryLeaks, consulte crt_dbg1.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.