_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
」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示