_CrtCheckMemory
Bestätigt die Integrität der Speicherblöcke im Debugheap (nur die Debugversion) zugeordnet sind.
int _CrtCheckMemory( void );
Rückgabewert
Bei Erfolg gibt _CrtCheckMemory TRUE zurück. andernfalls gibt die Funktion FALSE zurück.
Hinweise
Die _CrtCheckMemory-Funktion untersucht den Speicher, der vom Debugheap Manager zugeordnet ist, indem sie den zugrunde liegenden Basisheap überprüft und jeden Speicherblock überprüft.Wenn eine Fehler- oder inkonsequenz Arbeitsspeicher im zugrunde liegenden Basisheap, in der Headerzeile Debuggen oder in den Puffern überschreibens auftritt, generiert _CrtCheckMemory ein Debugbericht mit den Informationen, die den Fehlerzustand beschrieben wird.Wenn _DEBUG nicht definiert wird, werden Aufrufe _CrtCheckMemory während des Präprozessorlaufs entfernt.
Das Verhalten von _CrtCheckMemory kann gesteuert werden, indem die Bitfelder des _crtDbgFlag-Flags mithilfe der _CrtSetDbgFlag-Funktion festgelegt wird.Dreht das _CRTDBG_CHECK_ALWAYS_DF Bitfeld ON Ergebnissen in _CrtCheckMemory , das aufgerufen wird, wenn ein Vorgang Familie jedes Mal angefordert wird.Obwohl bei dieser Methode die Ausführung verlangsamt, ist es für Fehler schnell abfangen.Dreht das _CRTDBG_ALLOC_MEM_DF Bitfeld OFF _CrtCheckMemory Ursachen von den Heap zu prüfen und TRUEnicht sofort zurückgegeben.
Da diese Funktion TRUE oder FALSEzurückgibt, kann sie auf eines der _ASSERT Makros übergeben werden, um einen einfachen Mechanismus zur fehlerbehandlungs Debuggen zu erstellen.Das folgende Beispiel führt zu einem Assertionsfehler, wenn Beschädigung im Heap gefunden wird:
_ASSERTE( _CrtCheckMemory( ) );
Weitere Informationen zum Debuggen _CrtCheckMemory mit anderen Funktionen verwendet werden kann, finden Sie unter Heap-Zustands-berichtende Funktionen.Eine Übersicht über die Speicherverwaltung und des Debugheaps finden Sie unter Speicherverwaltung und Debugheap.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_CrtCheckMemory |
<crtdbg.h> |
Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.
Bibliotheken
Debugversionen von nur C .
Beispiel
Ein Beispiel dafür, wie _CrtCheckMemoryfinden Sie unter crt_dbg1verwendet.
.NET Framework-Entsprechung
System::Diagnose::PerformanceCounter