2018.4.22
自动解析
借助第三方平台,我选择的是鹅厂出品的Bugly,老老实实地按照文档去配置好你的工程,特别是符号表的配置,那就一切OK了,发生Crash的时候,去后台看,对应的crash信息都是已经自动符号化完成了的。Bugly iOS 符号表配置
手动解析
1.崩溃日志.crash
导出
方式一,打开Xcode >
Window
>Devices and Simulators
> 选择相应的设备 >View Device Logs
> 找到相应的crash log >Export Log
保存到桌面
方式二,打开Xcode >Window
>Organizer
>Crashes
> 找到相应的log,点击Show in Finder
,打开多层文件夹,然后找到相应的.crash
文件,复制到桌面. (一般情况下,此处的信息是已经被符号化过的,可以直接查看到具体崩溃信息的,无需额外手动解析了)
方式三,应用审核时发生的Crash,像我悲催的遇到了,AdHoc版本没问题,AppStore版本就是会崩溃,真是简直了;将审核反馈信息中附带的.txt
下载到桌面,改变后缀为.crash
2.符号表文件.dYSM
导出
注:
.dSYM
文件是iOS编译后保存16进制函数地址映射信息的文件,每次应用程序build
后,都会生成对应的xxx.app
,xxx.app.dSYM
文件,不过前提是,你没有乱搞你的工程配置;在工程配置中设置生成.dSYM文件 ,Build Settings -> Debug information format -> 选DWARF with dSYM File ,打包时就会生成dSYM文件
方式一,获取.archive
文件,前往文件夹/用户/用户名/资源库/Developer/Xcode/Archives
-> 找到目标build
版本对应的.archive
文件 > 显示包内容,找到其中的xxx.app.dSYM
文件,复制到桌面
方式二,如果已经成功上架商店了,那么可以选择,打开Xcode >Window
>Organizer
>Archives
> 选择正确的Build
版本,右边信息栏点击Download dYSMs...
下载文件到桌面
方式三,从iTunes Connect网站下载dSYM文件,1. 打开App Details页面。2. 点击活动。3. 从所有版本列表中选择一个版本。4. 点击**下载dSYM**链接。
Technical Note TN2151 反正我到现在也没找着那个所谓的下载链接了,ok,我承认我很笨 = = 。
3.脚本文件symbolicatecrash
导出
Xcode 7及之前的版本应该是,前往文件夹
用户/用户名/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources
Xcode 7之后的版本是,用户/用户名/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources
当然,也可以直接在应用文件夹中找到Xcode.app
显示包内容,手动进到Resources
文件夹了
复制symbolicatecrash
脚本文件到桌面
4.手动解析.
现在我们有了
.crash
日志文件,.dYSM
符号表文件,以及symbolicatecrash
脚本文件,新建一个文件夹,随意命名为crashAnalysis
,将3个文件都拖入其中;
command
+空格
打开spotlight
,输入ter
打开终端,终端中输入cd
+空格
,将crashAnalysis
拖入终端以自动补充文件路径,点击回车;即,进入到桌面crash文件夹中
终端中继续输入命令:进行crash日志解析
./symbolicatecrash xxx.crash的文件路径 xxx.app.dSYM的文件路径 > log.crash
如果终端报错:
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
输入:
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
然后再输入:进行crash日志解析
./symbolicatecrash xxx.crash的文件路径 xxx.app.dSYM的文件路径 > log.crash
现在,
crashAnalysis
文件夹中会新增文件log.crash
,这个就是已经符号化完成了的日志文件了。那么,江湖再见咯~
参考链接:我怎么可能那么聪明,没有参考链接就能搞的定呢~
1.iOS crash报告符号化,.ips文件分析
2.Bugly,手动生成符号表的步骤
3.iOS通过dSYM文件分析crash
4.Where is located symbolicatecrash in Xcode 8?
网友评论