Freigeben über


_aligned_free_dbg

Gibt einen Speicherblock frei, der zugeordnet _aligned_malloc wurde oder _aligned_offset_malloc (nur debuggen).

Syntax

void _aligned_free_dbg(
   void *memblock
);

Parameter

memblock
Ein Zeiger auf den Speicherblock, der an die Funktion _aligned_malloc oder _aligned_offset_malloc zurückgegeben wurde.

Hinweise

Die _aligned_free_dbg Funktion ist eine Debugversion der _aligned_free Funktion. Wenn _DEBUG sie nicht definiert ist, wird jeder Anruf _aligned_free_dbg auf einen Anruf reduziert _aligned_free. Sowohl _aligned_free als auch _aligned_free_dbg geben einen Speicherblock im Basisheap frei, jedoch hat _aligned_free_dbg eine Debugfunktion: die Möglichkeit, freigegebene Blöcke in der verknüpften Liste des Heaps beizubehalten, um Speichermangel zu simulieren.

_aligned_free_dbg führt eine Gültigkeitsüberprüfung für alle angegebenen Dateien und Blockspeicherorte aus, bevor eine Freigabe erfolgt. Die Anwendung wird nicht erwartet, dass diese Informationen bereitgestellt werden. Wenn ein Speicherblock freigegeben wird, überprüft der Debug-Heap-Manager automatisch die Integrität der Puffer auf beiden Seiten des Benutzerteils. Es wird ein Fehlerbericht ausgegeben, wenn das Überschreiben aufgetreten ist. Wenn das _CRTDBG_DELAY_FREE_MEM_DF Bitfeld der _crtDbgFlag Kennzeichnung festgelegt ist, wird der freigegebene Block mit dem Wert 0xDD gefüllt, dem _FREE_BLOCK Blocktyp zugewiesen und in der verknüpften Liste der Speicherblöcke des Heaps gespeichert.

Wenn bei der Freigabe des Speichers ein Fehler auftritt, wird errno mit Informationen des Betriebssystems über die Art des Fehlers angegeben. Weitere Informationen finden Sie untererrno, _doserrno, _sys_errlistund _sys_nerr.

Informationen dazu, wie Speicherblöcke in der Debugversion des Basis heap zugeordnet, initialisiert und verwaltet werden, finden Sie unter CRT Debug Heap Details. Informationen zu den Zuordnungsblocktypen und deren Verwendung finden Sie unter "Typen von Blöcken" im Debug-Heap. Informationen zu den Unterschieden zwischen Standard heap-Funktionen und deren Debugversionen finden Sie unter Debugversionen von Heap-Zuordnungsfunktionen.

Anforderungen

Routine Erforderlicher Header
_aligned_free_dbg <crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Siehe auch

Debugroutinen