_free_dbg
Gibt einen Speicherblock im Heap freigegeben (nur Debugversion).
void _free_dbg(
void *userData,
int blockType
);
Parameter
userData
Zeiger auf den belegten Speicherblock freigegeben werden sollen.blockType
Der Typ des freizugebenden belegten Speicherblocks: _CLIENT_BLOCK, _NORMAL_BLOCKoder _IGNORE_BLOCK.
Hinweise
Die _free_dbgFunktion ist eine Debugversion der frei-Funktion.Wenn _DEBUG nicht definiert ist, wird jeder Aufruf von _free_dbg zu einem Aufruf von freereduziert._free_dbg und geben free Basisheap einen Speicherblock freigegeben, aber im _free_dbgbringt zwei Debugfeatures unter: angegebenen bleibt die Extents in der verknüpften Liste des Heaps auf, um den Status unzureichenden Arbeitsspeichers und einen Zeichenfolgenparameter Blockformat zu simulieren, um bestimmte Typen von Zuordnungen verwenden.
_free_dbg führt eine Überprüfung Gültigkeits für alle angegebenen Dateien blockieren und Speicherorte aus, bevor der Versuch Vorgang ausführt.Die Anwendung ist nicht vorgesehen, dass diese Informationen bereitzustellen.Wenn ein Speicherblock freigegeben ist, überprüft der Manager Debugheap automatisch die Integrität der Puffer auf beiden Seiten des Benutzers und teilweise einen Fehlerbericht Probleme beim Überschreiben erfolgt ist.Wenn das _CRTDBG_DELAY_FREE_MEM_DFBitfeld des _crtDbgFlag-Flags festgelegt ist, wird der freigegebener Block mit dem Wert 0xDD ausgefüllt _FREE_BLOCK-Blockformat zugewiesen und gehalten in der verknüpften Liste des Heaps von Speicherblöcke.
Wenn ein Fehler auftritt, wenn er den Speicher freigibt, ist errno mit Informationen aus dem Betriebssystem auf der Art des Fehlers festgelegt.Weitere Informationen finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.
Weitere Informationen zum Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap.Weitere Informationen zu den Typen von Zuordnungen blocks und wie diese verwendet werden, finden Sie unter Blocktypen auf dem Debugheap.Weitere Informationen über die Unterschiede zwischen den Aufrufen einer Funktion und ihrer heap Standard in einem Debugbuild Debugversion einer Anwendung finden Sie unter Verwenden der Debugversion für die Grundversion.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_free_dbg |
<crtdbg.h> |
Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.
Beispiel
Ein Beispiel dafür, wie _free_dbgfinden Sie unter crt_dbg2verwendet.
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.