码迷,mamicode.com
首页 > 其他好文 > 详细

Debugger–veh & she 粗浅一

时间:2014-08-22 21:08:19      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   io   strong   ar   2014   代码   

(我自己使用的"笨办法", 就是 class point + 手动去除 (set/get这类抽象层次很低的函数 + onWin常见消息) + when hit 这样,

通过debug output, dynamic 输出了 call sequence.

但归根到底, 找到准确无误的 call stack 才是"核心" )

 

产生这篇文章的缘由是:

1) 调试COM的代码时, 因为引用了一个空指针, 导致抛出了"Read violation"的错误. 但是, exception在break的地方, 却是离最终确定的bug十万八千里.查看堆栈, 发现堆栈被项目的其他组件"影响", 导致混乱不堪.

向前辈请教之后, 得到这样的解法:

1. 确定 exception号: 蓝色框中, 标志处 0xc0000005

bubuko.com,布布扣

2. 打开VS的的"Exception", 如图勾选刚才确认的 exception号:

bubuko.com,布布扣

 

这样, 当发生exception时, 获得第一手信息的, 不是ntdll, 而是Win Debugger.

 

粗浅的原理:

1. VEH –> SHE

Debugger(VEH) –> try/catch(SHE) 或 unhandled exception –> ntdll.dll

参考:

1. wikipedia( 提供了很多深入的材料 )

bubuko.com,布布扣

Debugger–veh & she 粗浅一

标签:style   blog   http   使用   io   strong   ar   2014   代码   

原文地址:http://www.cnblogs.com/permanence-practice/p/3930201.html

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