CAB
Uhr
EOF
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

_free_dbg

Gibt einen Speicherblock im Heap frei (nur Debugversion).

void _free_dbg( 
   void *userData,
   int blockType 
);
userData

Zeiger auf den belegten Speicherblock, der freigegeben werden soll.

blockType

Der Typ des freizugebenden belegten Speicherblocks: _CLIENT_BLOCK, _NORMAL_BLOCKoder _IGNORE_BLOCK.

Die _free_dbg-Funktion 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 überprüft vor der Freigabe die Gültigkeit aller angegebenen Dateien und Speicherblockpositionen. Es ist nicht vorgesehen, diese Informationen bereitzustellen. Wenn ein Speicherblock freigegeben ist, überprüft der Manager Debugheap automatisch die Integrität der Puffer auf beiden Seiten des Benutzerbereichs und erzeugt einen Fehlerbericht, wenn ein Überschreiben erfolgt ist. Wenn das _CRTDBG_DELAY_FREE_MEM_DF Bitfeld des _crtDbgFlag-Flags gesetzt ist, wird der freigegebene Block mit dem Wert 0xDD gefüllt, der Blocktyp _FREE_BLOCK zugewiesen und der Block in der verketteten Speicherblock-Liste des Heaps gehalten.

Wenn bei der Speicherfreigabe ein Fehler auftritt, wird errno entsprechend der Informationen des Betriebssystems zur Art des Fehlers gesetzt. Weitere Informationen finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Weitere Informationen dazu, wie Speicherblöcke in der Debugversion des Basisheaps belegt, 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 zu den Unterschieden zwischen dem Aufruf der Standard-Heap-Funktion und ihrer Debugversion in einer im Debug-Modus übersetzten Anwendung finden Sie unter Verwenden der Debugversion für die Grundversion.

Routine

Erforderlicher Header

_free_dbg

<crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Ein Beispiel dafür, wie _free_dbgfinden Sie unter crt_dbg2verwendet.

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.