Compartilhar via


_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.

Consulte também

Referência

Rotinas de depuração