Condividi tramite


AfxCheckMemory

Questa funzione convalida il pool di memoria e visualizza i messaggi di errore come necessario.

BOOL AfxCheckMemory( );

Valore restituito

Diverso da zero se nessun errore di memoria; in caso contrario 0.

Note

Se la funzione non rileva un danneggiamento, non visualizza alcuna operazione.

Tutti i blocchi di memoria allocati attualmente nell'heap vengono controllati, inclusi quelli allocati da nuova ma non quelli allocati dalle chiamate dirette a allocatori di memoria sottostante, la funzione di malloc o la funzione Windows di GlobalAlloc. Se un qualsiasi blocco viene trovato per essere danneggiato, un messaggio verrà visualizzato nell'output del debugger.

Se si include la riga

#define new DEBUG_NEW

in un modulo di programma, le chiamate successive a AfxCheckMemory mostrano il nome file e il numero di riga in cui è stata allocata la memoria.

Nota

Se il form contiene uno o più implementazioni di classi serializzabili, è necessario inserire la riga di #define dopo l'ultima chiamata di macro di IMPLEMENT_SERIAL.

Questa funzione viene eseguita solo nella versione di debug di MFC.

Esempio

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();

Requisiti

Intestazione: afx.h

Vedere anche

Concetti

Macro e funzioni globali MFC