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