Udostępnij za pośrednictwem


_free_dbg

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

void _free_dbg( 
   void *userData,
   int blockType 
);

Parametry

  • userData
    Wskaźnik do bloku pamięci przydzielone być zwalniane.

  • blockType
    Typ bloku pamięci przydzielone do zwolniona: _CLIENT_BLOCK, _NORMAL_BLOCK, lub _IGNORE_BLOCK.

Uwagi

_free_dbg Funkcja jest w wersji debugowej z wolnego funkcji.Gdy _DEBUG nie jest zdefiniowana, każde wywołanie _free_dbg jest zredukowana do wywołania free.Obie free i _free_dbg wolnego bloku pamięci w stercie bazowy, ale _free_dbg użytą dwie funkcje debugowania: możliwość przechowywania zwolnionej bloki sterty połączonej liście symulacji warunków braku pamięci i parametru typu bloku, aby zwolnić alokacji określonych typów.

_free_dbgwykonuje sprawdzenie ważności na wszystkich określonych plików i lokalizacje bloku przed wykonaniem operacji wolna.Aplikacja nie oczekuje się do dostarczenia tych informacji.Gdy blok pamięci jest zwalniany, menedżera sterty debugowania automatycznie sprawdza spójność buforów po obu stronach część użytkownika i wystawia raport o błędach, jeśli zastępowanie wystąpił.Jeśli _CRTDBG_DELAY_FREE_MEM_DF pole bitowe z _crtDbgFlag jest ustawiona flaga, blok zwalniane jest wypełniona przypisanej wartości 0xDD, _FREE_BLOCK typu blokowania i trzymane w połączonej listy bloków pamięci sterty.

W przypadku wystąpienia błędu w zwalniania pamięci, errno jest ustawiona z informacji z systemu operacyjnego na charakter awarii.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.

Informacje o jak bloków pamięci są przydzielane, zainicjowany i zarządzane w wersji debugowej bazowy sterty, zobacz Zarządzanie pamięcią i debugowania sterty.Informacje o alokacji typów bloku i w jaki sposób są używane, zobacz Typów bloków na stercie debugowania.Aby uzyskać informacje dotyczące różnic między wywołaniem funkcji standardowego sterty i jej wersję debugowania w trybie debugowania aplikacji, zobacz przy użyciu wersji Versus the Base wersja do debugowania.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_free_dbg

<crtdbg.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

Przykładowy sposób _free_dbg, zobacz crt_dbg2.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Debugowania procedur

_malloc_dbg