_CrtSetDumpClient
安装应用程序定义的函数以转储 _CLIENT_BLOCK
类型的内存块(仅限调试版本)。
语法
_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );
参数
dumpClient
要挂钩的客户端定义的新内存转储函数。
返回值
返回之前定义的客户端块转储函数。
备注
_CrtSetDumpClient
函数允许应用程序挂钩自己的函数来转储存储在 _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 运行时库的调试版本。