次の方法で共有


Client ブロック用のフック関数

_CLIENT_BLOCK 型のブロックに格納されているデータの内容を検証したりレポートしたりするために、専用の関数を作成できます。作成する関数には、CRTDBG.H で定義されている次のようなプロトタイプが必要です。

void YourClientDump(void *, size_t)

つまり、独自のフック関数は、対象となる割り当てブロックの先頭への void ポインターと、割り当てサイズを示す size_t 型の値を受け取り、void を返すようにする必要があります。それ以外の内容については、自由に決定できます。

作成したフック関数を _CrtSetDumpClient を使用して組み込むと、_CLIENT_BLOCK 型のブロックがダンプされるたびに、このフック関数が呼び出されます。_CrtReportBlockType を使用すると、ダンプされたブロックの型や、その細分化された型に関する情報を取得できます。

_CrtSetDumpClient に渡す独自の関数へのポインターは _CRT_DUMP_CLIENT 型です。これらは、CRTDBG.H で次のように定義されています。

typedef void (__cdecl *_CRT_DUMP_CLIENT)
   (void *, size_t);

参照

処理手順

crt_dbg2 Sample

関連項目

_CrtReportBlockType

その他の技術情報

デバッグ用フック関数の作成