_CrtSetDumpClient

安装一个应用程序定义的函数转储 _CLIENT_BLOCK 内存块类型 (请只调试版本)。

_CRT_DUMP_CLIENT _CrtSetDumpClient( 
   _CRT_DUMP_CLIENT dumpClient 
);

参数

  • dumpClient
    指向挂钩的新客户端定义的信息转储函数到 C 运行时的调试信息转储处理。

返回值

返回以前定义的客户端块转储函数。

备注

_CrtSetDumpClient 功能允许应用程序挂钩自己的函数转储在 _CLIENT_BLOCK 存储的对象存储到 C 运行时调试转储处理。 因此,每次使用调试转储函数例如 _CrtMemDumpAllObjectsSince_CrtDumpMemoryLeaks 转储 _CLIENT_BLOCK 内存块,应用程序的转储函数调用。 _CrtSetDumpClient 提供应用程序提供了一种简单的方法来检测内存泄漏,并验证或报告在 _CLIENT_BLOCK 存储的数据内容块。 当 _DEBUG 未定义时,在预处理期间,对 _CrtSetDumpClient 中移除。

_CrtSetDumpClient 功能内置在 dumpClient 指定的新应用程序定义的转储函数并返回以前定义的转储函数。 客户端的示例块转储函数如下所示:

void DumpClientFunction( void *userPortion, size_t blockSize );

userPortion 参数是指向的用户数据部分的开头内存块,并 blockSize 指定分配的大小 (以字节块。 客户端块转储函数必须返回 void。 对传递到 _CrtSetDumpClient 的客户端转储函数的指针为类型 _CRT_DUMP_CLIENT,对于 Crtdbg.h 定义:

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

有关的示例演示如何实现一个应用程序定义的转储函数,请参见 crt_dbg2 示例:C 运行时调试挂钩函数。 有关对功能的更多信息 _CLIENT_BLOCK 内存块类型,请参见 客户端块挂钩函数_CrtReportBlockType 函数来返回有关块类型和子类型。

要求

实例

必需的头

_CrtSetDumpClient

crtdbg.h

有关更多兼容性信息,请参见中介绍的 兼容性

只调试 C 运行库 的版本。

示例

有关此示例演示如何使用 _CrtSetDumpClient,请参见 crt_dbg2

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

调试实例

_CrtReportBlockType

_CrtGetDumpClient