如何用X-code symbolicatecrash命令分析crash文件

有个项目提交到AppStore后被苹果打回来了,说程序运行的时候crash了,还给了我们三个crash文件,但是直接打开文件的话,我们看到的跟平时在Xcode中debug的时候完全不一样,debug的时候控制台打印的是一些函数名之类的.但是苹果给我们的crash文件里面的函数名之类的东西都变成16进制的.因此如果我们要想像平时在Xcode中一样获得一些有用的信息,我们就得做一些转化.

通过查阅官方文档和上网查阅.这里介绍利用Xcode隐藏的一个工具symbolicatecrash来完成转化

官方文档里说了,你如果想要完成转化,那么你必须同时拥有这几个文件: 

1. XXX.app  

2. XXX.app.dSYM 

3. XXX.crash

前两个文件是你打包时生成的文件,所以你要保存好这两个文件,否则,如果到时候苹果把你应用打回来了,给你crash文件,你也转化不了了.

如果你是通过设置run->release,然后直接command+B来生成app文件正式包的,那么直接进入项目中product下的app文件的文件夹中就能看见这两个文件.

如果你是通过archive然后export得到的ipa文件正式包,那么直接右击->打开方式->归档使用工具,打开报内容,就能找到这两个文件.

第三个文件就是苹果给你的crash文件.在桌面新建一个文件夹convertCrash把这个三个文件放到文件夹中


接下来进入此/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources文件夹,找到symbolicatecrash这个玩意,拷贝一份,粘贴到convertCrash文件夹中.现在文件夹中有四个文件前三个加symbolicatecrash.

接下来打开命令行,cd到convertCrash文件夹执行命令

./symbolicatecrash  /Users/hhhh/Desktop/convertCrash/XXXX.crash /Users/hhhh/Desktop/convertCrash/XXXX.app.dSYM > test.crash

回车后如果包如下错误:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”则在当前命令行中直接输入

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"回车然后再次执行./symbolicatecrash  /Users/hhhh/Desktop/convertCrash/XXXX.crash /Users/hhhh/Desktop/convertCrash/XXXX.app.dSYM > test.crash

此时文件夹中多了一个test.Crash文件,就是最终得到的文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值