iOS app crash日志符号化解析

背景

项目进入到测试阶段,收到测试同学提供的一些崩溃日志信息(.ips或者.crash格式的崩溃日志),为了快速定位问题,通过symbolicatecrash工具命令行对其文件进行符号化解析。此文记录当时的操作流程,以供日后查阅或能给其他同学提供必要的帮助。

解析

通过symbolicatecrash工具命令行进行解析,需要获得我们打包时的.xcarchive文件。如果是自己负责打包就非常简单了。否则,就需要找到打包负责人拿到对应的.xcarchive文件。

xcode中获取.xcarchive文件的方法:
【Xcode】->【Window】->【Organizer】->【Archives】

  • 实现步骤
  1. 在桌面或者其他自己方便找到的地方,新建文件夹,并命名(根据自己习惯起个名字即可),这里命名为 CrashLog


    1534317751913.jpg
  2. 在.xcarchive文件,右键->【显示包内容】->【Products】->【Applications】,拷贝.app文件到CrashLog中
    1534318095817.jpg
  3. 在.xcarchive文件,右键->【显示包内容】->【dSYMs】,拷贝. dSYMs文件到CrashLog中
    1534318051092.jpg
  4. .ips格式文件后缀改为.crash,并放入到CrashLog。如果是本身就是.crash文件直接放入即可

  5. 将symbolicatecrash工具拷贝到CrashLog中。
    打开Finder ,按shift+command+g,在弹出的对话框中,输入或者粘贴 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,点击【前往】即可获取到symbolicatecrash,拷贝之后粘贴到 CrashLog中

  6. 打开终端,cd到CrashLog文件夹中

  7. 在终端,输入 ./symbolicatecrash crash文件的绝对路径 dSYM的绝对路径 > CrashLog.crash ,按回车

    1534318452270.jpg

在CrashLog的文件夹中会生成CrashLog.crash文件。
1534318546366.jpg

补充:
有些同学可能会有Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.这个错误
那么终端输入 export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer,按回车即可,再次执行第7步就好了

至此就得CrashLog.crash文件就是我们需要的符号化后的日志信息,打开后会看到一些对应的类名,方法名等,就可以快速定位具体问题了。

你可能感兴趣的:(iOS app crash日志符号化解析)