_CrtMemDumpAllObjectsSince
プログラムの実行開始以降、またはヒープが指定された状態になった時点から、ヒープ内のオブジェクトに関する情報をダンプします (デバッグ バージョンだけ)。
void _CrtMemDumpAllObjectsSince(
const _CrtMemState *state
);
パラメーター
- state
ダンプを開始するヒープ状態へのポインターまたは NULL。
解説
_CrtMemDumpAllObjectsSince 関数は、ヒープに割り当てられているデバッグ ヘッダー情報をユーザーが読める形式でダンプします。 アプリケーションは、ダンプ情報を使用して、メモリ割り当ての追跡やメモリに関する問題の検出を行うことができます。 _DEBUG が未定義の場合、_CrtMemDumpAllObjectsSince の呼び出しはプリプロセスで削除されます。
_CrtMemDumpAllObjectsSince は、パラメーター state の値を使用して、ダンプ処理の開始タイミングを判断します。 ダンプ処理を指定されたヒープ状態から開始するには、_CrtMemDumpAllObjectsSince を呼び出す前に、パラメーター state に、_CrtMemCheckpoint により設定済みの _CrtMemState 構造体へのポインターを指定する必要があります。 パラメーター state が NULL のときは、プログラムの起動時からダンプが開始されます。
アプリケーションが _CrtSetDumpClient を呼び出してダンプ フック関数をインストールしている場合、_CrtMemDumpAllObjectsSince は _CLIENT_BLOCK 型のブロックに関する情報をダンプするたびに、アプリケーションが指定したダンプ関数を呼び出します。 既定では、内部 C ランタイム ブロック (_CRT_BLOCK) は、メモリ ダンプの対象外です。 _CRT_BLOCK をメモリ ダンプの対象に加えるには、_CrtSetDbgFlag 関数を使用して _crtDbgFlag の _CRTDBG_CHECK_CRT_DF ビットを ON にします。 解放されたブロック (_FREE_BLOCK) や無視されたブロック (_IGNORE_BLOCK) も、メモリ ダンプの対象外です。
ヒープ状態関数と _CrtMemState 構造体の詳細については、「ヒープの状態をレポートする関数」を参照してください。 デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「メモリ管理とデバッグ ヒープ」を参照してください。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_CrtMemDumpAll-ObjectsSince |
<crtdbg.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのデバッグ バージョンのみ。
使用例
_CrtMemDumpAllObjectsSince の使用例については、「crt_dbg2」を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。