次の方法で共有


_CrtMemDumpAllObjectsSince

プログラムの実行開始時以降または指定されたヒープ状態以降のヒープ内のオブジェクトについての情報をダンプします (デバッグ バージョンのみ)。

void _CrtMemDumpAllObjectsSince(  
   const _CrtMemState *state  
);

パラメーター

  • state
    ダンプの開始点となるヒープ状態へのポインターまたは NULL

解説

_CrtMemDumpAllObjectsSince 関数は、ヒープに割り当てられたオブジェクトのデバッグ ヘッダー情報をユーザーが判読できる形式でダンプします。 ダンプ情報は、割り当ての追跡とメモリの問題の検出のためにアプリケーションで使用できます。 _DEBUG が未定義の場合、_CrtMemDumpAllObjectsSince の呼び出しはプリプロセスで削除されます。

_CrtMemDumpAllObjectsSince は state パラメーターの値を使用して、ダンプ操作の開始点を判断します。 指定したヒープ状態からダンプを開始するには、state パラメーターが _CrtMemState 構造体へのポインターである必要があります。この構造体は、_CrtMemDumpAllObjectsSince が呼び出される前に、_CrtMemCheckpoint によってデータを設定されていなければなりません。 state が NULL である場合、関数はプログラムの実行開始時からダンプを始めます。

アプリケーションが _CrtSetDumpClient を呼び出してダンプ フック関数をインストールした場合、_CrtMemDumpAllObjectsSince_CLIENT_BLOCK 型のブロックについての情報をダンプするたびに、アプリケーションによって提供されたダンプ関数も呼び出されます。 既定では、内部 C ランタイム ブロック (_CRT_BLOCK) は、メモリ ダンプ操作に含まれません。 これらのブロックを含めるには、_CrtSetDbgFlag 関数を使用して、_crtDbgFlag_CRTDBG_CHECK_CRT_DF ビットをオンにします。 また、解放済みまたは無視としてマークされているブロック (_FREE_BLOCK_IGNORE_BLOCK) は、メモリ ダンプに含まれません。

ヒープ状態関数と _CrtMemState 構造体の詳細については、「Heap State Reporting Functions (ヒープの状態をレポートする関数)」を参照してください。 デバッグ バージョンのベース ヒープに対するメモリ ブロックの割り当て、初期化、管理方法の詳細については、「CRT デバッグ ヒープ」を参照してください。

必要条件

ルーチン

必須ヘッダー

_CrtMemDumpAll-ObjectsSince

<crtdbg.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

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

使用例

_CrtMemDumpAllObjectsSince の使用例については、「crt_dbg2」を参照してください。

同等の .NET Framework 関数

使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

デバッグ ルーチン

_crtDbgFlag