客户端块挂钩函数

如果想要验证或报告存储在 _CLIENT_BLOCK 块中的数据的内容,可以专为此目的编写函数。 如同 CRTDBG.H 中所定义的,所编写的函数必须有与下面类似的原型:

void YourClientDump(void *, size_t)

换句话说,您的挂钩函数应接受一个 void 指针(指向分配块的起始),以及一个 size_t 类型值(指示分配大小),并返回 void。 除此之外,其内容由您决定。

使用 _CrtSetDumpClient 安装了挂钩函数后,每次转储 _CLIENT_BLOCK 块时都将调用该挂钩函数。 然后,可以使用 _CrtReportBlockType 获取有关转储块的类型或子类型的信息。

您传递给 _CrtSetDumpClient 的指向函数的指针是 _CRT_DUMP_CLIENT 类型,如 CRTDBG.H 中所定义:

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

请参见

参考

_CrtReportBlockType

其他资源

编写调试挂钩函数

crt_dbg2 Sample