调试工具及调试思路-2

2、调试思路
2.1指针访问违例等异常类问题
(1)要处理此类问题,请首先熟悉windbg调试器的的用法.
(2)要分析异常问题,找到异常代码,首先要有异常情况下的core dump文件,操作系统处理过程中,有硬件中断,到操作系统的SHE处理,最终到分发给调试器,分析core dump,找到异常线程栈,找到线程栈后,开始从windows的SHE相关接口往上看,找到出错的自己模块和代码.
相关可以分享的调试命令:
~*kn 100 //切换到指点线程.
!analyze –v/ -hang/-crash //调试器直接进行异常分析,找出线程,并展示异常码和异常堆栈
.frame x //在有源代码的情况下,直接查看接口的栈变量,参数和返回值等信息
Kn kb kd.dump .logopen dc //更多的命令请大家学习windbg的帮助文档.

2.2线程死锁等挂死类问题
(1)通过!analyze –hang找出互锁的线程组,切换到其中的一个线程中.
(2)通过windbg的元命令!CS等找到windows核心对象的句柄,找到拥有核心对象的线程. 参考命令
(3)~*kn 切换到拥有锁的线程, 通过kn100 开始分析线程堆栈,找到导致死锁的代码流程.并进行修改.
请参照windbg 用户手册进行操作.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值