Freigeben über


_aligned_free_dbg

Gibt einen Speicherblock frei, der mit _aligned_malloc oder _aligned_offset_malloc belegt ist (nur in der Debugversion).

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 Funktion _aligned_free_dbg ist eine Debugversion der Funktion _aligned_free. Wenn _DEBUG nicht definiert ist, wird jeder Aufruf von _aligned_free_dbg zu einem Aufruf von aligned_free reduziert. 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 stellt diese Informationen wahrscheinlich nicht bereit. Wenn ein Speicherblock freigegeben wird, überprüft der Debugheapmanager automatisch die Pufferintegrität auf beiden Seiten des Benutzerteils und erstellt einen Fehlerbericht, falls über den Puffer hinaus geschrieben wurde. Wenn das Bitfeld _CRTDBG_DELAY_FREE_MEM_DF des _crtDbgFlag-Flags festgelegt ist, wird der freigegebene Block mit dem Wert "0xDD" gefüllt. Außerdem wird der _FREE_BLOCK-Blocktyp zugewiesen und in der verknüpften Liste des Heaps im Speicherblock beibehalten.

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 unter errno, _doserrno, _sys_errlist und _sys_nerr.

Informationen darüber, wie Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Details zum CRT-Debugheap. Weitere Informationen zu den Zuordnungsblocktypen und ihrer Verwendung finden Sie unter Blocktypen auf dem Debugheap. Weitere Informationen zu den Unterschieden zwischen dem Aufruf einer Standardheapfunktion und der Debugversion in einem Debugbuild einer Anwendung finden Sie unter Debugversionen von Heapreservierungsfunktionen.

Anforderungen

Routine

Erforderlicher Header

_aligned_free_dbg

<crtdbg.h>

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

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Debugroutinen