就iOS而言,如果应用程序出现奔溃,系统会记录这次奔溃时的系统快照,这就是crash log。应用程序的崩溃日志,使用的是符号话标记,也就是说只是记录了崩溃时,调用堆栈的一些内存信息。这些信息,对于研发和测试人员来说,没法直接的定位出错的位置。这就需要符号化崩溃日志。
一、crash日志的位置。
获取crash文件的方法有多种,对于上线的应用,可以通过开发者网站收集的日志得到。但是,对于正在测试的应用,只能自己手动的通过获取设备中的日志。
手动获取系统崩溃日志。
1、可以借助一些第三方的工具获得这些崩溃的日志。在windows系统下,使用iTools第三方工具的高级选项中,有获取崩溃日志。如果是Mac OS的话,对于普通用户一般不会安装XCode,所以可以使用Apple自己的工具iTunes。要想得到崩溃日志,需要先同步手机到电脑,相信使用Mac OS的用户都会使用手持设备跟电脑的iTunes同步。同步之后的位置,以下是Mac OS X:中的位置 ~/Library/Logs/CrashReporter/MobileDevice/
这个位置的需要选择你同步的设备,在对应的设备下面会有你的崩溃日志,copy出来就可以了。
2、对于研发人员,在XCode打开的情况下,直接在设备中查找即可,在你的设备中保存了所有的崩溃日志,找到对应的crash日志,选择个位置export出来就好。
二、符号化文件
仅有crash日志,还不足以符号化,还需要符号化文件.dSYM,这个文件对于研发人员不会陌生,在command+r运行你的应用的时候,XCode为你做的最后一步就是生成该文件,而且在打包的时候也是会生成该文件的。如果是符号化已经发布的版本,需要研发人员保存好对应版本的.dSYM文件。这个.dSYM文件通常是在你打包好的.xcarchive文件夹中,显示包内容会看到两个文件夹,一个plist文件。dSYMs文件中存放的是符号化文件,Products文件夹中存放的是对应的App。
在符号化文件之前需要查看一下uuid是不是一致的,要确