• 异常DBG_PRINTEXCEPTION_C(0x40010006)和DBG_PRINTEXCEPTION_WIDE_C(0x4001000A)


    简介

    DBG_PRINTEXCEPTION_C,代码0x40010006;DBG_PRINTEXCEPTION_WIDE_C,代码0x4001000A;在调试器的控制台窗口打印异常信息/调试信息。它定义在 ntstatus.h头文件里,如下:

    //
    // MessageId: DBG_PRINTEXCEPTION_C
    //
    // MessageText:
    //
    // Debugger printed exception on control C.
    //
    #define DBG_PRINTEXCEPTION_C             ((NTSTATUS)0x40010006L)    // winnt

    //
    // MessageId: DBG_PRINTEXCEPTION_WIDE_C
    //
    // MessageText:
    //
    // Debugger printed exception on control C.
    //
    #define DBG_PRINTEXCEPTION_WIDE_C        ((NTSTATUS)0x4001000AL)    // winnt

    它们唯一的差别是,DBG_PRINTEXCEPTION_C是多字节版本的,DBG_PRINTEXCEPTION_WIDE_C是Unicode版本的。

    触发条件

    OutputDebugString和其他类似的函数能有效地导致引发Windows异常(DBG_PRINTEXCEPTION_C或DBG_PRINTEXCEPTION_WIDE_C)。附加调试器后,Windows将接收异常并通知调试器。如果没有附加调试器,则将异常传递给程序(作为可继续的错误)。如果程序没有处理异常的处理程序,则继续生活。如果程序执行了,则调用该异常处理程序。,因为通常没有理由当OutputDebugString没有要打印到的调试器时,程序处理该事件。

    异常结构填充

    ExceptionAddress: 0xXXXXXXXX
    ExceptionCode: 40010006/4001000A//错误代码
    ExceptionFlags: 00000001
    NumberParameters: 2//附加参数个数,一般为2个
    Parameter[0]: //信息字符串长度
    Parameter[1]://字符串指针

  • 相关阅读:
    javascript 构造函数,工厂模式,稳妥构造函数浅析
    javascript基本概念
    struts2 类型转换
    struts action
    struts2 配置(部分)
    struts2基本构成
    charapter 1
    java 内部类
    mysql zip 解压安装 (win10)
    python之random模块
  • 原文地址:https://www.cnblogs.com/yilang/p/12036228.html
Copyright © 2020-2023  润新知