客户端块挂钩函数
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
仅限本机 |
|||
标准版 |
仅限本机 |
|||
专业团队版 |
仅限本机 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
如果想要验证或报告存储在 _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);