客户端崩溃查找

1.首先取得崩溃地址:客户端崩溃时,会有一个log文件,该文件有一行写着Exception Address,后面的数字就是程序崩溃的地址。

2.定位崩溃函数和崩溃语句的地址偏移:每次VS编译客户端的时候会生成一个.map文件,将崩溃的那个客户端对应的.map文件用ViewSymbol打开,然后输入1中得到的地址,点击查找,结果中会出现一段信息,该信息中第一行“?”和“@”之间的英文就是崩溃的函数名,最后XXX.obj,XXX就是崩溃函数所在的源文件。信息的第二行会有一个地址,用该地址减去查找地址,就得到了崩溃语句的地址偏移。

3.定位崩溃语句:在VS的资源管理器中找到崩溃的源文件,右键打开它的属性页,在“C++->输出文件->汇编输出”中选择“程序集、机器码和源代码(/FAcs)”,然后编译该文件,会得到一个.cod文件,用VS打开它,在该文件中查找崩溃函数名,查找结果中有一个条的末尾会有“COMDAT”,查看那一条。那一条文字的下面一行会有一个数字,该数字表示该函数在源文件中的行数,再下面一行会有一串数字,这串数字的第二个数就是语句的地址偏移,往下搜索,找到与2中的地址偏移相同的数字,该数字下面的语句就是崩溃语句了。


注:上面所说的地址偏移好像不是真正的地址偏移,到底是个什么东西,我现在也不明白,我只是借用这个词讲一下查找方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值