windbg结合IDA定位程序崩溃
如何分析dump文件
- 打开windbg,把dump文件拖进windbg中,输入!analyze –v
- windbg找出出错模块svnets的基地址
- 通过IDA改变svnet模块基地址
IDA中的地址都是偏移,和windbg中的不一样,可以改变IDA中的基地址来匹配windbg中的地址方法如下:Edit->Segments->Rebaseprogram
在弹出的对话框中,输入svnets模块的基地址(图2中start字段的值)
- 定位到出错位置
选择菜单jump->jump to address,在地址框中输入图1中定位到的出错位置:0x78c0b054
备注:出错位置是在windbg中通过命令!analyze -v分析出来的
FAULTING_IP:
svnets!RunMain+87f26
78c0b054 8b08 mov ecx,dword ptr [eax]
点击图4的OK按钮跳转到出错的汇编代码处(流程图)
按下“空格”键从流程图切换到文本格式的汇编代码视图
从汇编代码的流程图界面,按下F5快捷键跳转到出错的伪代码处。至此可以找到程序的崩溃位置。