Compartilhar via


AfxCheckMemory

Esta função valida o pool de memória livre e imprime mensagens de erro conforme necessário.

BOOL AfxCheckMemory( );

Valor de retorno

Diferente de zero se não há erros de memória; Caso contrário, 0.

Comentários

Se a função não detectar nenhum corrupção de memória, ele imprime nada.

Todos os blocos de memória atualmente alocados no heap são verificados, inclusive aqueles alocados pelo nova mas não os alocados pelo chamadas diretas para subjacente alocadores de memória isenta, como o malloc função ou a GlobalAlloc função do Windows.Se for encontrado qualquer bloco corrompido, uma mensagem é impressa na saída do depurador.

Se você incluir a linha

#define new DEBUG_NEW

em um módulo de programa, as chamadas subseqüentes, em seguida, a AfxCheckMemory mostrar o nome do arquivo e linha número onde a memória foi alocada.

ObservaçãoObservação

Se seu módulo contém uma ou mais implementações de classes serializáveis, você deve colocar o #define linha após o último IMPLEMENT_SERIAL chamada de macro.

Essa função funciona apenas na versão de depuração do MFC.

Exemplo

CAge* pcage = new CAge(21);  // CAge is derived from CObject.
Age* page = new Age(22);     // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99;   // Corrupt preceding guard byte
*(((char*)page) - 1) = 99;    // Corrupt preceding guard byte
AfxCheckMemory();

Requisitos

Cabeçalho: Afx. h

Consulte também

Conceitos

Globais e Macros do MFC