_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 指定的新的应用自定义转储函数,并返回之前自定义的转储函数。 客户端块转储函数的示例如下所示:
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 );
有关更多关于操作 _CLIENT_BLOCK 类型内存块的函数,请参阅 客户端块挂钩函数。 _CrtReportBlockType 函数可以被用来返回关于块类和子类型的信息。
要求
例程 |
必需的标头 |
---|---|
_CrtSetDumpClient |
<crtdbg.h> |
有关更多兼容性信息,请参见“简介”中的兼容性。
库
仅限 C 运行时库的调试版本。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例。