_CrtSetReportHook

通过将它安装一个客户端定义的报告功能添加到 C 运行时调试报告进程 (请只调试版本)。

_CRT_REPORT_HOOK _CrtSetReportHook( 
   _CRT_REPORT_HOOK reportHook 
);

参数

  • reportHook
    指向挂钩的新客户端定义的报告功能添加到 C 运行时的调试报告进程。

返回值

返回上一个客户端定义的报告功能。

备注

_CrtSetReportHook 使应用程序可以使用自己的报告功能到 C 运行时调试库报告进程。 因此,只要, _CrtDbgReport 调用来启动调试报告,应用程序的报告函数首先调用。 此功能使应用程序执行操作 (如筛选调试报告,以便它可以侧重显示特定分配类型或发送报表到目标不可通过使用 _CrtDbgReport。 当 _DEBUG 未定义时,在预处理期间,对 _CrtSetReportHook 中移除。

有关 _CrtSetReportHook的更可靠的版本,请参见 _CrtSetReportHook2

_CrtSetReportHook 功能内置在 reportHook 指定的新客户端定义的报告函数并返回以前的客户端定义的挂钩。 下面的示例演示一个客户端定义的报告挂钩应如何原型:

int YourReportHook( int reportType, char *message, int *returnValue );

其中 reportType 是调试报告类型 (_CRT_WARN、 _CRT_ERROR或 _CRT_ASSERT), message 是完全汇编的调试报表中将包含的用户消息,并且, returnValue 是应由 _CrtDbgReport返回的客户端定义的报告功能指定的值。 有关可用的报表类型的完整说明,请参见 _CrtSetReportMode 功能。

如果客户端定义的报告功能完全处理调试消息此类不需要进一步的报告,则该函数应返回 TRUE。 当函数返回 FALSE时,使用报告类型、架构和文件的,当前设置 _CrtDbgReport 调用来启动调试报告。 此外,通过指定 _CrtDbgReport 返回在 returnValue的值,应用程序也可以控制调试中断是否发生。 有关完整说明如何配置调试报告并生成,请参见 _CrtSetReportMode、 _CrtSetReportFile和 _CrtDbgReport。

有关使用其他挂钩能够运行时函数和编写自己的客户端定义的挂钩函数的更多信息,请参见 编写自己调试挂钩函数

备注

如果应用程序编译 /clr ,并报告函数时,在应用程序退出主要后, CLR 将引发异常,如果报告函数调用任何 CRT 函数。

要求

实例

必需的头

_CrtSetReportHook

crtdbg.h

有关更多兼容性信息,请参见中介绍的 兼容性

只调试 C 运行库 的版本。

示例

有关此示例演示如何使用 _CrtSetReportHook,请参见 报表

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

调试实例

_CrtGetReportHook