Freigeben über


_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

Siehe auch

Referenz

Debug- Routinen

_crtDbgFlag

_CrtSetDbgFlag