_aligned_free_dbg

_aligned_malloc または _aligned_offset_malloc で割り当てたメモリ ブロックを解放します (デバッグ時のみ)。

void _aligned_free_dbg(
   void *memblock
);

パラメーター

  • memblock
    _aligned_malloc 関数または _aligned_offset_malloc 関数に返されたメモリ ブロックへのポインター。

解説

_aligned_free_dbg 関数は、_aligned_free 関数のデバッグ バージョンです。 _DEBUG が定義されていないと、_aligned_free_dbg 関数への呼び出しは aligned_free 関数への呼び出しに変わります。 両方の _aligned_freeと_aligned_free_dbg無料のメモリ ブロックをベース ヒープですが_aligned_free_dbg デバッグ機能に対応します。能力を解放するメモリ不足の状況をシミュレートするために、ヒープのリンク リストでブロックします。

_aligned_free_dbg は、メモリを解放する前に、指定されたすべてのファイルとブロック位置の有効性を確認します。 アプリケーションではこの情報は提供されません。 メモリ ブロックが解放されると、デバッグ ヒープ マネージャーは自動的にユーザー領域の両端のバッファーの整合性を確認し、上書きされている場合はエラー レポートを発行します。 _crtDbgFlag フラグの _CRTDBG_DELAY_FREE_MEM_DF ビット フィールドが設定されている場合、解放されたブロックは値 0xDD で初期化され、_FREE_BLOCK プロック型が割り当てられた後、ヒープのメモリ ブロック リンク リストに保持されます。

メモリの解放でエラーが発生した場合errno、障害の情報をオペレーティング システムから、自然が設定されます。 詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。

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

必要条件

ルーチン

必須ヘッダー

_aligned_free_dbg

<crtdbg.h>

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

同等の .NET Framework 関数

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

参照

参照

デバッグ ルーチン