次の方法で共有


_free_dbg

ヒープ (デバッグ バージョンだけ) のメモリ ブロックを解放します。

void _free_dbg( 
   void *userData,
   int blockType 
);

パラメーター

  • userData
    解放する割り当てられたメモリ ブロックへのポインター。

  • blockType
    割り当てられた解放するメモリ ブロック型 : _CLIENT_BLOCK_NORMAL_BLOCKまたは _IGNORE_BLOCK。

解説

_free_dbg の関数は フリー (R) の関数のデバッグ バージョンです。_DEBUG を定義しない場合_free_dbg を呼び出すたびにfree の呼び出しに減少します。free と _free_dbg はベース ヒープ メモリ ブロックを解放しますが_free_dbg は2 種類のデバッグ機能が格納されます : 保持する機能はメモリ不足の状態をシミュレートするためにヒープのリンク リストのブロックを解放し特定の割り当てを解放するブロック型のパラメーターを示します。

_free_dbg は無料の操作を実行する前に指定されたすべてのファイルおよびブロックの位置の検証を実行します。アプリケーションはこの情報を提供する処理は行われません。メモリ ブロックが解放されるとデバッグ ヒープ マネージャーは自動的に上書きが発生したユーザー領域の前後に確保整合性をチェックしエラー。_crtDbgFlag フラグの _CRTDBG_DELAY_FREE_MEM_DF のビット フィールドが設定されている場合解放済みのブロックは0xDD 値を格納しており_FREE_BLOCK ブロック型を割り当ててヒープ メモリ ブロックのリンク リストに保持されます。

エラーが発生するとメモリの解放に errno は失敗の種類のオペレーティング システムによる情報で設定します。詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。

デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「メモリ管理とデバッグ ヒープ」を参照してください。割り当てブロックの型についてはそれらがどのように使用されるかについてはデバッグ ヒープ ブロックの型 を参照してください。アプリケーションのデバッグ ビルドの標準とデバッグ バージョンのヒープ関数呼び出しの違いについてはデバッグ バージョンを使用して基本バージョン を参照してください。

必要条件

ルーチン

必須ヘッダー

_free_dbg

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

_free_dbg を使用する方法の例については crt_dbg2 を参照してください。

同等の .NET Framework 関数

該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

デバッグ ルーチン

_malloc_dbg