Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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