War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
and
Uhr
div
eof
not
or
xor
Erweitern Minimieren
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

_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

Typ des belegten, freizugebenden Speicherblocks: _CLIENT_BLOCK, _NORMAL_BLOCK oder _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 free reduziert. free und _free_dbg geben einen Speicherblock im Basisheap frei, jedoch hat _free_dbg zwei Debugfunktionen: die Möglichkeit, freigegebene Blöcke in der verknüpften Liste des Heaps beizubehalten, um Speichermangel zu simulieren, und einen Blocktypparameter zum Freigeben bestimmter Belegungstypen.

_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.

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 finden Sie unter Debugversionen von Heapreservierungsfunktionen.

Routine

Erforderlicher Header

_free_dbg

<crtdbg.h>

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

Ein Beispiel für die Verwendung von _free_dbg finden Sie unter crt_dbg2.

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft