ios crash文件分析

        IOS程序在真机运行程序出现crash状况时,机器会自动产生log文件,它包含了在程序crash之前的运行逻辑,分析carsh文件,有效的解决程序在真机上的问题,保证程序良好的稳定性,但是这个crash文件多数是显示出现问题的地址和一些系统的消息,无法查看程序中对应的崩溃地点,以下文章帮你解决这个问题。

分析崩溃原因,需要三个东西,第一,crash文件,第二,symbolicatecrash,第三,dysm和app文件

0. 在桌面创建一个临时文件夹,如crash

1. 首先要从设备中导出crash文件,最简单直接的办法是设备连接到mac上,打开xcode的organizer,然后选择其顶端选中devices,在左边的列表里,就能显示出当前连接的设备信息,选择当前设备下的device logs,等待片刻,中间的列表里会出现很多panic的信息,按照时间排序可以找到最近崩溃的crash,然后右键导出此文件.文件名自动保存为.crash文件,形如: xxx_2013-08-15-200743_-iPad.crash, 将这个文件拷入第一步创建的临时文件夹备用

2. symbolicatecrash是xcode自带的工具,为了方便调用,可以做一个快捷方式,方便在任意路径下调用
首先在termail下,输入find /Applications/Xcode.app -name symbolicatecrash -type f,用来查找symbolicatecrash的真实位置,
一般情况下,会返回如下路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

下一步建立快捷方式
sudo ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash"  /usr/local/bin/symbolicatecrash

3.dysm文件存在于最后发包的机器上,使用打开xcode的organizer,选择顶部的archives,看到最后的发包记录,选择distribute保存为相应的archive文件,查看包内容,里面有我们需要的.dSYM文件

app文件用刚才同样的方法,dictribute保存为ipa文件,把文件名扩展名改为zip,解压后可以得到最后的app文件。将这两个文件拷入第一步创建的临时文件夹备用

万事俱备,只差最后一步,termail下进入第一步创建的临时文件夹,

使用命令 symbolicatecrash xxxx.crash  xxxx.dsym > crash.text   将最后分析出来的文件保存在crash.text文件中

形如 symbolicatecrash xxx_2013-08-15-200743_iPad.crash xxxx.app.dSYM >crash.text


注意,一般情况下,第一次使用symbolicatecrash会产生一个error,如下的错误信息

Error: "DEVELOPER_DIR" is not defined at /usr/local/bin/symbolicatecrash line 53.

解决办法是输入export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值