AfxCheckMemory
Diese Funktion liest den freien Speicherpool und druckt Fehlermeldungen nach Bedarf.
BOOL AfxCheckMemory( );
Rückgabewert
Wert ungleich 0 (null) wenn keine Speicherfehler; 0 andernfalls.
Hinweise
Wenn die Funktion keine Speicherbeschädigungen erkennt, gibt dies nichts.
Alle Speicherblöcke, die derzeit auf dem Heap zugeordnet sind, werden, einschließlich die überprüft, die von neu zugeordnet werden, aber nicht die direkte Aufrufe, die vom zugrunde liegenden Speicherbelegungen, wie der malloc-Funktion oder der GlobalAlloc Windows-Funktion zugeordnet werden. Ist ein Block gefunden beschädigt werden, eine Meldung gedruckt wird zur Debuggerausgabe.
Wenn Sie die Zeile einfügen
#define new DEBUG_NEW
in einem Unterprogramm dann zeigen nachfolgende Aufrufe zu AfxCheckMemory die Dateinamen und Zeilennummer angegeben, in der der Speicher belegt wurde.
Hinweis
Wenn das Modul eine oder mehrere Implementierungen von serialisierbaren Klassen enthält, müssen Sie #define die Zeile nach dem letzten IMPLEMENT_SERIAL-Makro-Aufruf einfügen.
Diese Funktion funktioniert nur in der Debugversion von MFC.
Beispiel
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();
Anforderungen
Header: afx.h