美文网首页
通过dSYM文件定位分析crash

通过dSYM文件定位分析crash

作者: ZzS_2d89 | 来源:发表于2018-03-08 22:58 被阅读0次

    我们应用上线后往往会遇到各种各样的crash。其实当你的app 在手机上crash的时候,会在手机上自动生成一个崩溃日志,也就是我们说的Crash Log。CrashLog的位置位于:

    iPhone设备的var/mobile/Library/Logs/CrashReporter

    一、获取崩溃日志的方法

    1、通过 iTunes Connect

    对于已经上线的应用,如果用户同意上传相关信息(具体操作为:打开了诊断与用量这个选项设置->隐私->诊断与用量 )。那么作为开发者,你想要获取到你的用户的崩溃日志的话就得通过 iTunes Connect 了。在 iTunes Connect 上的 Manage Your Applications -> View Details -> Crash Reports。

    2、获取测试机的crash log

    通过Xcode获取到崩溃日志,方法是Xcode->Window->Devices

    3、通过友盟等第三方统计获取

    二、以友盟统计为例,如何分析崩溃日志

    我们项目默认都接了友盟统计,因此每天上班的第一个任务就是打开友盟查看崩溃信息。通常的崩溃信息是长这样子的。

    图一.友盟崩溃日志错误详情

    步骤一、乍一看日志,看不懂。但我们将注意力放在高亮的那几行,这里就是出现crash的内存地址。

    图一.错误内存地址

    步骤二、当我们点击地址,会弹出一个的提示窗。

    图三.点击内存地址提示框

    步骤三、打开终端,进入到  *.dSYM 文件  所在的文件夹。(.dSYM文件为每次编译后自动生成,为了方便应用上线后定位错误,备份好.dSYM文件是一个良好的习惯)

    步骤四、将步骤二弹窗的后半句命令行复制到终端,将后面的  “$dSYMPath” 替换成当前*.dSYM 的路径。以下是我的命令行:

    dwarfdump --arch=arm64 --lookup 0x1002c9444 NewLingHit882.app.dSYM 

    步骤五、找到崩溃代码位置

    图四.错误位置

    三、通过第三方工具定位crash位置

    除了终端定位错误位置外还能用一个第三方的工具dSYMTool协助定位到项目crash的代码,这里附上dSYMTool

    只需将.dSYM文件拖入,并将错误内存地址copy在对应位置,即可快速找到对应的方法。

    图五.利用dSYMTool定位错误

    相关文章

      网友评论

          本文标题:通过dSYM文件定位分析crash

          本文链接:https://www.haomeiwen.com/subject/oykufftx.html