_CrtCheckMemory

デバッグ ヒープで割り当てられたメモリ ブロックの整合性を確認します (デバッグ バージョンのみ)。

構文


int _CrtCheckMemory( void );

戻り値

成功した場合は、 _CrtCheckMemory ;を返します TRUE。それ以外の場合は、関数が返します FALSE

解説

_CrtCheckMemory 関数は、基になるベース ヒープを確認し、各メモリ ブロックを調べることにより、デバッグ ヒープ マネージャーによって割り当てられたメモリを検証します。 基になるベース ヒープ、デバッグ ヘッダー情報、または上書きバッファーでエラーやメモリの不整合が検出された場合、_CrtCheckMemory はエラー状況を説明する情報を含むデバッグ レポートを生成します。 _DEBUG が定義されていない場合、_CrtCheckMemory の呼び出しは前処理で削除されます。

の動作_CrtCheckMemoryは、関数を使用して_CrtSetDbgFlagフラグのビット フィールドを_crtDbgFlag設定することで制御できます。 ビット フィールドを _CRTDBG_CHECK_ALWAYS_DF ON にすると、 _CrtCheckMemory メモリ割り当て操作が要求されるたびに呼び出されます。 このメソッドでは実行速度が低下しますが、エラーをすばやくキャッチする場合に便利です。 ビット フィールドを _CRTDBG_ALLOC_MEM_DF OFF にすると、 _CrtCheckMemory ヒープが検証されず、すぐに戻ります TRUE

この関数は返 TRUE すか、マクロ FALSEのいずれかに _ASSERT 渡して、基本的なデバッグ エラー処理メカニズムを作成できます。 次の例は、ヒープの破損が検出された場合に、アサーション エラーを発生させます。

_ASSERTE( _CrtCheckMemory( ) );

他のデバッグ関数と共に使用する方法_CrtCheckMemoryの詳細については、「ヒープ状態レポート関数」を参照してください。 メモリ管理とデバッグ ヒープの概要については、CRT デバッグ ヒープの詳細を参照してください

必要条件

ルーチンによって返される値 必須ヘッダー
_CrtCheckMemory <crtdbg.h>

互換性の詳細については、「 Compatibility」を参照してください。

ライブラリ

C ランタイム ライブラリのデバッグ バージョンのみ。

_CrtCheckMemory の使用方法のサンプルについては、「crt_dbg1」を参照してください。

関連項目

デバッグ ルーチン
_crtDbgFlag
_CrtSetDbgFlag