_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。有关更多信息,请参见 平台调用示例。