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