Udostępnij za pośrednictwem


_free_dbg

Zwalnia blok pamięci w stercie (tylko wersja debugowania).

Składnia

void _free_dbg(
   void *userData,
   int blockType
);

Parametry

userData
Wskaźnik do przydzielonego bloku pamięci do zwolnienia.

blockType
Typ przydzielonego bloku pamięci do zwolnienia: _CLIENT_BLOCK, lub _NORMAL_BLOCK_IGNORE_BLOCK.

Uwagi

Funkcja _free_dbg jest wersją free debugowania funkcji. Jeśli _DEBUG nie jest zdefiniowane, każde wywołanie metody _free_dbg jest zmniejszane do wywołania metody free. Zarówno free blok pamięci w stercie podstawowej, jak i _free_dbg wolny, ale _free_dbg obsługuje dwie funkcje debugowania: możliwość utrzymania wolnych bloków na liście połączonej sterty w celu symulowania niskich warunków pamięci i parametru typu bloku w celu zwolnienia określonych typów alokacji.

_free_dbg Przeprowadza sprawdzanie poprawności dla wszystkich określonych plików i lokalizacji zablokowanych przed wykonaniem bezpłatnej operacji. Aplikacja nie powinna podawać tych informacji. Po uwolnieniu bloku pamięci menedżer stert debugowania automatycznie sprawdza integralność po obu stronach części użytkownika. Spowoduje to wyświetlenie raportu o błędach, jeśli wykryje zastąpienie. _CRTDBG_DELAY_FREE_MEM_DF Jeśli pole bitowe flagi _crtDbgFlag jest ustawione, wolny blok jest wypełniony wartością 0xDD, przypisanym typem _FREE_BLOCK bloku i przechowywanym na połączonej liście bloków sterty.

Jeśli wystąpi błąd podczas zwalniania pamięci, errno jest ustawiany z informacjami z systemu operacyjnego o charakterze awarii. Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Aby uzyskać informacje na temat przydzielania, inicjowania i zarządzania blokami pamięci w wersji debugowania sterty podstawowej, zobacz szczegóły sterty debugowania CRT. Aby uzyskać informacje o typach bloków alokacji i sposobie ich użycia, zobacz Typy bloków na stercie debugowania. Aby uzyskać informacje o różnicach między wywoływaniem standardowej funkcji sterty i wersji debugowania, zobacz Debugowanie wersji funkcji alokacji sterty.

Wymagania

Procedura Wymagany nagłówek
_free_dbg <crtdbg.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

Aby zapoznać się z przykładem korzystania z programu _free_dbg, zobacz crt_dbg2.

Zobacz też

Procedury debugowania
_malloc_dbg