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

请参见

参考

调试例程

_CrtReportBlockType

_CrtGetDumpClient