_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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。