Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.