_CrtDumpMemoryLeaks
Despejos de toda a memória bloqueia na pilha de depuração quando ocorre um vazamento de memória (somente a versão de depuração).
int _CrtDumpMemoryLeaks( void );
Valor de retorno
_CrtDumpMemoryLeaksRetorna VERDADEIRO se um vazamento de memória for encontrado.Caso contrário, a função retornará FALSE.
Comentários
O _CrtDumpMemoryLeaks função determina se um vazamento de memória ocorreu desde o início da execução do programa.Quando for encontrado um vazamento, as informações de cabeçalho de depuração para todos os objetos na heap serão despejadas de forma legível pelo usuário.Quando _ Debug não está definido, planos de _CrtDumpMemoryLeaks são removidos durante o pré-processamento.
_CrtDumpMemoryLeaksfreqüentemente é chamado no final da execução do programa para verificar que toda a memória alocada pelo aplicativo tinha sido liberada.A função pode ser chamada automaticamente no término do programa, ativando o _CRTDBG_LEAK_CHECK_DF campo de bits da _crtDbgFlag sinalizar usando o _CrtSetDbgFlag função.
_CrtDumpMemoryLeakschamadas _CrtMemCheckpoint para obter o estado atual da pilha e, em seguida, verifica o estado dos blocos que não foram liberadas.Quando um bloco dependentes é encontrado, _CrtDumpMemoryLeaks chamadas _CrtMemDumpAllObjectsSince informações de despejo para todos os objetos alocados na pilha desde o início da execução do programa.
Por padrão, blocos de tempo de execução c internos (_CRT_BLOCK) não estão incluídos nas operações de despejo de memória.O _CrtSetDbgFlag função pode ser usada para ativar o _CRTDBG_CHECK_CRT_DF um pouco de _crtDbgFlag para incluir esses blocos no processo de detecção de vazamento.
Para obter mais informações sobre as funções do estado de pilha e o _CrtMemState estrutura, consulte Funções de emissão de relatórios de estado de Heap.Para obter informações sobre como blocos de memória são alocados, inicializados e gerenciados na versão de depuração da pilha base, consulte Gerenciamento de memória e a pilha de depuração.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_CrtDumpMemoryLeaks |
<crtdbg.h> |
Para obter mais informações de compatibilidade, consulte compatibilidade na introdução.
Bibliotecas
Versões de depuração de bibliotecas de 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 c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.