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