ios 根据友盟日志定位代码

话不多说直接上图:
这里写图片描述

错误信息就是上面那个图片喽。

查找dYSM文件:

dYSM是打包的时候生成的,查找位置可以用下面的方法,找到它就可以拿友盟统计上的错误日志来查找崩溃在程序的哪个类哪行代码了。不过,这不是绝对的,有的日志是查不到崩溃在何处的。
Xocde–>preference –>
这里写图片描述

这里写图片描述

在友盟统计上,错误日志这里会有应用的版本号,我们要根据这个版本号,找到我们对应的ipa包,然后找到dYSM文件。在错误日志的下位,有出错的版本号,出错的次数,出错的首次日期,最后一次出现的日期。
即可得到DYSM文件的位置:

/Users/zhoujunbo/Library/Developer/Xcode/Archives/2016-06-21/SSPendi\ 16-6-21\ 下午2.23.xcarchive

这里写图片描述

接下来继续进入
这里写图片描述

这里写图片描述

这里写图片描述

最后进入上述DWARF文件
解析友盟错误信息重要指令:
dwarfdump –arch=arm64 –lookup 0x1001edbc4(这里是自己的友盟分析错误地址) 上述文件夹路径

敲回车,接下来就下面的啦

0x003ab47e: Compile Unit: length = 0x000026ba  version = 0x0002  abbr_offset = 0x00000000  addr_size = 0x08  (next CU at 0x003adb3c)

0x003ab489: TAG_compile_unit [1] *
             AT_producer( "Apple LLVM version 7.3.0 (clang-703.0.31)" )
             AT_language( DW_LANG_ObjC )
             AT_name( "/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB/IMCommon.m" )
             AT_stmt_list( 0x00121122 )
             AT_comp_dir( "/Users/zhoujunbo/Documents/SVN/SSPendi" )
             AT_APPLE_optimized( 0x01 )
             AT_APPLE_major_runtime_vers( 0x02 )
             AT_low_pc( 0x00000001001ed7a0 )
             AT_high_pc( 0x00000001001ee82c )

0x003ac6f2:     TAG_subprogram [35] *
                 AT_low_pc( 0x00000001001edb14 )
                 AT_high_pc( 0x00000001001edc44 )
                 AT_frame_base( reg29 )
                 AT_object_pointer( {0x003ac711} )
                 AT_name( "-[IMMessageObj dealloc]" )
                 AT_decl_file( "/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB/IMCommon.m" )
                 AT_decl_line( 64 )
                 AT_prototyped( 0x01 )
                 AT_APPLE_optimized( 0x01 )
Line table dir : '/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB'
Line table file: 'xxxx.m' line 223, column 10 with start address 0x00000001001edbc4

然后,我们可以分析得到是在xxxx.m文件中的第223行第10列崩溃的,就可以直接定位到错误的地方,然后分析出错的代码,fix掉就可以了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值