码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-12-13 20:05:53      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:执行   print   bug   其他   ESS   处理异常   unicode   调用   int   

简介

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]://字符串指针

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

标签:执行   print   bug   其他   ESS   处理异常   unicode   调用   int   

原文地址:https://www.cnblogs.com/yilang/p/12036228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!