_CrtMemCheckpoint
デバッグ ヒープの現在の状態を取得し、アプリケーションが指定した _CrtMemState 構造体に格納します (デバッグ バージョンだけ)。
void _CrtMemCheckpoint(
_CrtMemState *state
);
パラメーター
- state
メモリのチェックポイントを格納する _CrtMemState 構造体へのポインター。
解説
_CrtMemCheckpoint 関数は、指定された時点のデバッグ ヒープの状態のスナップショットを作成します。 _CrtMemCheckpoint などの他のヒープ状態関数は、このスナップショットを使用してメモリ リークおよびその他の問題を検出できます。 _DEBUG が未定義の場合、_CrtMemState の呼び出しはプリプロセスで削除されます。
state パラメーターには、Crtdbg.h で定義されている _CrtMemState 構造体の割り当て済みインスタンスへのポインターを渡す必要があります。 チェックポイントの作成時に _CrtMemCheckpoint でエラーが発生すると、_CRT_WARN デバッグ レポートが生成され、問題が表示されます。
ヒープ状態関数と _CrtMemState 構造体の詳細については、「ヒープの状態をレポートする関数」を参照してください。 デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「メモリ管理とデバッグ ヒープ」を参照してください。
state が NULL の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno、_doserrno、_sys_errlist、および _sys_nerr を EINVAL に設定して処理を戻します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_CrtMemCheckpoint |
<crtdbg.h>、<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
**ライブラリ:**デバッグ バージョンのC ランタイム ライブラリのみ。
使用例
「crt_dbg1 サンプル : C ランタイムの基本的なデバッグ機能」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。