摘要: 硬件异常即由CPU引发的异常,Windows定义了以下的硬件异常代码: 异常值描述EXCEPTION_ACCESS_VIOLATION0xC0000005程序企图读写一个不可访问的地址时引发的异常。例如企图读取0地址处的内存。EXCEPTION_ARRAY_BOUNDS_EXCEEDED0xC000008C数组访问越界时引发的异常。EXCEPTION_BREAKPOINT0x80000003触发断点时引发的异常。EXCEPTION_DATATYPE_MISALIGNMENT0x80000002程序读取一个未经对齐的数据时引发的异常。EXCEPTION_FLT_DENORMAL_OPERAND. 阅读全文
posted @ 2012-04-27 11:09 特米尼德 阅读(2718) 评论(1) 推荐(0) 编辑
摘要: 经常碰到本来运行很正常的程序,忽然弹出错误对话框,“ "0X****"指令引用的"0X******"内存。该内存不能为"read"或"written"”。接着程序就崩溃退出。这样的错误是程序存在BUG引起堆栈被破坏导致的。不要小看这样的问题,这种导致堆栈破坏的BUG因为不知道下一次什么时候就会出现,具有很强的隐蔽性。所以调试起来也很麻烦。现在介绍一个调试办法:使用GFlags.exe调试工具设置对进程的内存分配进行监控;一旦内存使用违例,程序会在第一时间崩溃报错,而不是在清理违例内存现场时才会报错。这样调试时就能立 阅读全文
posted @ 2012-04-13 14:03 特米尼德 阅读(2956) 评论(1) 推荐(0) 编辑
摘要: 一般我们抓取的dump文件后堆栈大都是这样的:0:028> kb*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll - ChildEBP RetAddr Args to Child WARNING: Stack unwind information not available. Following frames may be wrong.027acff8 7c802542 00000c34 ffffffff 00000000 ntdll!KiFastSystemCa 阅读全文
posted @ 2012-04-13 12:46 特米尼德 阅读(9906) 评论(0) 推荐(1) 编辑
摘要: 这两天遇见了个诡异的问题,扩展进程反复的加载和卸载一个插件的dll的时候,扩展会在启动的时候崩溃。 通过windbg查看崩溃栈:0:024> kbChildEBP RetAddr Args to Child WARNING: Frame IP not in any known module. Following frames may be wrong.02c6f7d4 77d18734 0033115c 00000024 00000000 0x38931f002c6f800 77d18816 038931f0 0033115c 00000024 USER32!InternalCallW. 阅读全文
posted @ 2012-04-12 19:16 特米尼德 阅读(3905) 评论(0) 推荐(1) 编辑
摘要: 一个button类里面包含一个tooltip(CTooltipCtrl tooltip)button类从CMessagefilter派生,并处理pretranlatemessage函数如下:BOOL PreTranslateMessage(MSG *pMsg){ tooltip.RelayEvent(pMsg); return false;}然后映射WM_CREATE, WM_DESTROY消息如下处理LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled){CMessag 阅读全文
posted @ 2012-04-09 13:08 特米尼德 阅读(775) 评论(0) 推荐(1) 编辑
摘要: 以前也用过windbg,没发现多好用,今天才发现没有pdb也能看到出错的module,今天研究了下记录下常用的命令吧。 (ps:设置ms符号表的方法,在file->Symbol file path弹出框中输入如下内容:SRV*E:\Projects\windows_symbols*http://msdl.microsoft.com/download/symbols 意思是把ms的系统dll的符号表下载到E:\Projects\windows_symbols) lm -z c:\myapp.dmp 命令行打开故障转储文件(ps:其实可以通过菜单项选文件,老土的命令行) .relo... 阅读全文
posted @ 2012-03-31 15:56 特米尼德 阅读(631) 评论(0) 推荐(1) 编辑
摘要: 最近会一直忙GDI+版本的demo和文档,等这些工作完毕后会为D3D版本的UI库开博,欢迎博友关注,交流,合作。 阅读全文
posted @ 2012-03-31 13:08 特米尼德 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 经过整理,多彩皮肤库正式发布了,多彩皮肤库,基于WTL,采用DirectUI技术,实现界面业务逻辑分离。 目前功能支持XML配置,换肤,样式,字符管理,字体管理,异形窗口,仿3D特效,动画effect,仿MFC消息映射,皮肤模板,可内嵌原生控件。 目前正在整理demo,文档,稍后会陆续放出。欢迎感兴趣的朋友一同交流,研究,合作。 阅读全文
posted @ 2012-03-31 11:05 特米尼德 阅读(691) 评论(3) 推荐(1) 编辑