JIT的初始断点

上网好好的,忽然IE Crash了,windbg作为JIT被自动启动起来,下意识的输入!runaway, ~* kv查看,发现所有的线程都在ntdll!KiFastSystemCallRet,也就是在内核中,一时间很奇怪,那IE怎么crash的?带着这个问题,中饭都没吃好。

 

苦思了很久之后,一下子顿悟了。当时的断点应该是初始断点,也就是ntdll!DbgUiRemoteBreakin,而真正的罪魁祸首应该还需要再g一下,跳过这个无意义的初始断点,虽然当时的IE已经没了,幸好留了dump,使用windbg打开,使用~* kv仔细观察,毕竟有37个线程。

分析dump虽然找不到crash的指令,总有蛛丝马迹可寻。从栈中可以追溯历史。定位到某个线徎,

 

0aed50f4 76ee5e4c 750c6872 00000002 0aed5148 ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0aed50f8 750c6872 00000002 0aed5148 00000001 ntdll!NtWaitForMultipleObjects+0xc (FPO: [5,0,0])
...

 

全文见 http://user.qzone.qq.com/31731705/blog/1297325245

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值