Partilhar via


AfxCheckMemory

Esta função valida o pool de memória disponível e imprime sistema autônomo 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 nenhuma corrupção de memória, ele imprime nada.

Todos sistema autônomo blocos de memória atualmente alocados na pilha são verificados, inclusive aqueles alocados por novo mas não sistema autônomo alocado por direcionar chamadas para allocators memória subjacente, sistema autônomo a 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, em seguida, as chamadas subseqüentes a AfxCheckMemory mostram o número de linha e o nome de arquivo em que a memória foi alocada.

Observação:

Se seu módulo contém implementações de um ou mais das classes pode ser serializados e, em seguida, você deve colocar o #define linha após a última IMPLEMENT_SERIAL macro telefonar.

Essa função funciona apenas na versão de depurar 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

Macros do MFC e globais