本机运行时检查自定义

在使用 /RTC(运行时检查)进行编译或使用 runtime_checks 杂注时,C 运行时库会提供本机运行时检查。 某些情况下,可能需要自定义运行时检查:

  • 将运行时检查信息传送到默认以外的文件或目标。

  • 为第三方调试器的运行时检查信息指定输出目标。

  • 报告用 C 运行库发布版本编译的程序中的运行时检查信息。 该库的发布版本不使用 _CrtDbgReportW 报告运行时错误。 相反,它们为每个运行时错误显示“断言”对话框。

    若要自定义运行时错误检查,可以:

  • 编写一个运行时错误报告函数。 有关详细信息,请参阅如何:编写运行时错误报告函数

  • 自定义错误消息目标。

  • 查询有关运行时检查错误的信息。

自定义错误消息目标

如果使用 _CrtDbgReportW 报告错误,可以使用 _CrtSetReportMode 指定错误消息的目标。

如果使用自定义报告函数,则使用 _RTC_SetErrorType 将错误与报告类型关联。

查询有关运行时检查的信息

_RTC_NumErrors 返回运行时错误检查所检测到的错误类型的数量。 要得到每个错误的简短说明,可以从 0 循环到 _RTC_NumErrors 的返回值,并在每次循环中将迭代值传递给 _RTC_GetErrDesc。 有关详细信息,请参阅 _RTC_NumErrors_RTC_GetErrDesc