• _CrtSetReportMode


    _CrtSetReportMode

    指定的目标或目标的生成的特定报表类型 _CrtDbgReport和调用任何宏_CrtDbgReport、 _CrtDbgReportW,如_ASSERT、 _ASSERTE、_ASSERT_EXPR 宏_ASSERT、 _ASSERTE、 _ASSERT_EXPR 宏_RPT、 _RPTF、 _RPTW、 _RPTFW 宏,并_RPT、 _RPTF、 _RPTW、 _RPTFW 宏(仅限在调试版本中)。

    语法

    int _CrtSetReportMode(
       int reportType,
       int reportMode
    );
    

    参数

    reportType
    报告类型: _CRT_WARN_CRT_ERROR,并 _CRT_ASSERT

    reportMode
    新报告模式或模式reportType

    返回值

    成功完成后, _CrtSetReportMode返回上一个报告模式中指定的报告类型reportType。 如果为传入的值无效reportType或为指定无效模式reportMode_CrtSetReportMode调用无效参数处理程序作为中所述参数验证。 如果允许执行继续,此函数可设置errnoEINVAL并返回-1。 有关详细信息,请参阅 errno、_doserrno、_sys_errlist 和 _sys_nerr

    备注

    _CrtSetReportMode指定的输出目标 _CrtDbgReport。 因为宏_ASSERT_ASSERTE_RPT,以及_RPTF调用 _CrtDbgReport_CrtSetReportMode指定这些宏指定的文本的输出目标。

    _DEBUG未定义,则调用 _CrtSetReportMode在预处理过程中删除。

    如果不调用 _CrtSetReportMode若要定义输出目标的消息,然后以下默认值是在起作用:

    • 断言失败和错误会定向到调试消息窗口。
    • 警告从 Windows 应用程序发送到调试器的输出窗口。
    • 不显示控制台应用程序中的警告。

    下表列出了在 Crtdbg.h 中定义的报告类型。

    报告类型 描述
    _CRT_WARN 不需要立即关注的警告、消息和信息。
    _CRT_ERROR 错误、不可恢复的问题和需要立即关注的问题。
    _CRT_ASSERT 断言失败 (断言表达式的计算结果为FALSE)。

    _CrtSetReportMode函数将分配中指定的新报告模式reportMode中指定的报表类型为reportType ,并返回之前定义有关报表模式reportType。 下表列出了可用选项reportMode和产生的行为 _CrtDbgReport。 在 Crtdbg.h 中将这些选项定义为位标志。

    报告模式 _CrtDbgReport 行为
    _CRTDBG_MODE_DEBUG 将消息写入调试器的输出窗口。
    _CRTDBG_MODE_FILE 将消息写入用户提供的文件句柄。 应调用 _CrtSetReportFile 来定义要用作目标的特定文件或流。
    _CRTDBG_MODE_WNDW 创建一个消息框显示消息以及中止重试,并忽略按钮。
    _CRTDBG_REPORT_MODE 返回reportMode指定reportType: 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW

    可以使用一种、两种或三种模式,或不使用任何模式报告每种报告类型。 因此,可以为单个报告类型定义多个目标。 例如,下面的代码段导致将断言失败发送到这两个调试消息窗口和stderr:

    _CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
    _CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
    

    此外,可以分别控制报告模式和每个报告类型的模式。 例如,它是可以指定reportType_CRT_WARN会发送到输出调试字符串,而 _CRT_ASSERT是使用调试消息窗口显示并发送到stderr,如前面所示。

    要求

    例程所返回的值 必需的标头 可选标头
    _CrtSetReportMode <crtdbg.h> <errno.h>
  • 相关阅读:
    OC-数组类
    OC-字符串函数
    C——位操作
    C——字符串练习
    C语言——指针习题
    指针数组和数组指针
    数组指针和指针数组的区别
    cocos2d-iphone中兼容iphone/ipad的问题
    一个Universal程序还是iPhone、iPad俩个版本 ?
    objective-c获取自1970年以来的毫秒数
  • 原文地址:https://www.cnblogs.com/fr-ruiyang/p/11078389.html
Copyright © 2020-2023  润新知