windbg结合IDA定位程序崩溃

如何分析dump文件

  1. 打开windbg,把dump文件拖进windbg中,输入!analyze –v
  1. windbg找出出错模块svnets的基地址
  1. 通过IDA改变svnet模块基地址

IDA中的地址都是偏移,和windbg中的不一样,可以改变IDA中的基地址来匹配windbg中的地址方法如下:Edit->Segments->Rebaseprogram

在弹出的对话框中,输入svnets模块的基地址(图2中start字段的值)

  1. 定位到出错位置

选择菜单jump->jump to address,在地址框中输入图1中定位到的出错位置:0x78c0b054

备注:出错位置是在windbg中通过命令!analyze -v分析出来的

FAULTING_IP:

svnets!RunMain+87f26

78c0b054 8b08 mov ecx,dword ptr [eax]

点击图4的OK按钮跳转到出错的汇编代码处(流程图)

按下“空格”键从流程图切换到文本格式的汇编代码视图

从汇编代码的流程图界面,按下F5快捷键跳转到出错的伪代码处。至此可以找到程序的崩溃位置。

经验分享 程序员 微信小程序 职场和发展