_free_dbg

釋放堆積中的記憶體區塊 (僅限偵錯版本)。

語法

void _free_dbg(
   void *userData,
   int blockType
);

參數

userData
要釋放之已配置記憶體區塊的指標。

blockType
要釋放之已配置記憶體區塊的類型:_CLIENT_BLOCK_NORMAL_BLOCK_IGNORE_BLOCK

備註

_free_dbg 式是函 free 式的偵錯版本。 未定義 時 _DEBUG ,對 的每個呼叫 _free_dbg 都會縮減為 對 free 的呼叫。 free_free_dbg 都會釋放基底堆積中的記憶體區塊,但 _free_dbg 容納兩個偵錯功能:將釋放的區塊保留在堆積的已連結清單中以模擬低記憶體狀況的能力,以及釋放特定配置類型的區塊類型參數。

_free_dbg 會先對所有指定檔案和區塊位置執行有效性檢查,再執行釋放作業。 應用程式不應該提供這項資訊。 釋放記憶體區塊時,偵錯堆積管理員會自動檢查使用者部分任一端緩衝區的完整性。 它會在偵測到覆寫時發出錯誤報表。 _CRTDBG_DELAY_FREE_MEM_DF如果設定旗標的 _crtDbgFlag 位欄位,釋放區塊會填入值0xDD、指派 _FREE_BLOCK 區塊類型,並保留在堆積的記憶體區塊連結清單中。

若釋放記憶體發生錯誤,會使用來自作業系統且具有失敗性質的資訊設定 errno。 如需詳細資訊,請參閱errno, _doserrno, _sys_errlist_sys_nerr.

如需如何在基底堆積偵錯版本中配置、初始化及管理記憶體區塊的相關資訊,請參閱 CRT 偵錯堆積詳細資料 。 如需配置區塊類型及其使用方式的相關資訊,請參閱 偵錯堆積 上的區塊類型。 如需呼叫標準堆積函式與偵錯版本之間的差異相關資訊,請參閱 堆積配置函 式的偵錯版本。

需求

常式 必要的標頭
_free_dbg <crtdbg.h>

如需相容性詳細資訊,請參閱相容性

範例

如需如何使用 _free_dbg 的範例,請參閱 crt_dbg2

另請參閱

偵錯常式
_malloc_dbg