次の方法で共有


_CrtSetDumpClient

アプリケーション定義された関数を _CLIENT_BLOCK の型のメモリ ブロック (デバッグ バージョンだけ) をダンプするためにインストールされます。

_CRT_DUMP_CLIENT _CrtSetDumpClient( 
   _CRT_DUMP_CLIENT dumpClient 
);

パラメーター

  • dumpClient
    C ランタイムのデバッグのメモリ ダンプのプロセスにフックする新しいクライアント定義されたメモリ ダンプ関数。

戻り値

以前に定義されたクライアント ブロックのダンプ関数を返します。

解説

_CrtSetDumpClient の関数は C ランタイムのデバッグのメモリ ダンプのプロセスに _CLIENT_BLOCK のメモリ ブロックに格納されているオブジェクトをダンプするための独自の関数を呼び出したアプリケーションができます。その結果たびに _CrtMemDumpAllObjectsSince または _CrtDumpMemoryLeaks などのデバッグのダンプ関数は _CLIENT_BLOCK のメモリ ブロックはアプリケーションのダンプ関数も呼び出されますダンプします。_CrtSetDumpClient 簡単な方法はメモリ リークを検出および _CLIENT_BLOCK ブロックに格納されているデータの内容を検証したりレポートするためのアプリケーションに提供します。_DEBUG が未定義の場合、_CrtSetDumpClient の呼び出しはプリプロセスで削除されます。

_CrtSetDumpClient の関数は dumpClient で指定された新しいアプリケーション定義のダンプ関数をインストールする場合は前に定義したダンプ関数を返します。Client ブロックをダンプ関数の例を次に示します。:

void DumpClientFunction( void *userPortion, size_t blockSize );

userPortion の引数はメモリ ブロックのユーザー データの部分の先頭へのポインターでblockSize の前に割り当てられたメモリ ブロックのサイズを指定します。Client ブロックをダンプ関数は void を返す必要があります。_CrtSetDumpClient に渡されるクライアントのダンプ関数へのポインターはCrtdbg.h で定義されている型です : _CRT_DUMP_CLIENT

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

アプリケーション定義のダンプ関数を使用する方法の例については crt_dbg2 サンプル : C ランタイムのデバッグのフック関数 を参照してください。_CLIENT_BLOCK の型のメモリ ブロックを操作する関数の詳細についてはクライアント ブロック用のフック関数 を参照してください。_CrtReportBlockType の関数がブロック型およびサブタイプに関する情報を返すために使用できます。

必要条件

ルーチン

必須ヘッダー

_CrtSetDumpClient

<crtdbg.h>

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

ライブラリ

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

使用例

_CrtSetDumpClient を使用する方法の例については crt_dbg2 を参照してください。

同等の .NET Framework 関数

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

参照

関連項目

デバッグ ルーチン

_CrtReportBlockType

_CrtGetDumpClient