DSYM分析Crash(转)

转载自:http://www.cnblogs.com/ningxu-ios/p/4141783.html?utm_source=tuicool


首先,找到Crash文件。Xcode6连接iphone之后,Window->Devices,在iphone的信息栏里找到[View Device Logs],点击可以查看该iphone上所有的Crash记录,举个栗子:haha.app 的Crash记录,右键Export Log,保存到桌面的CarshInfo文件夹。


然后,找到发布版本的ipa文件,这里引用原文的话“找到你上次发布的ipa(如果实在没有了就再从Archives里导出来一个,但一定要保证是你上次发布用的那个),右键 -> 打开方式 -> 归档实用工具(就是解压缩),然后把Payload文件夹下的.app文件也扔到刚刚的crash文件夹里。” 

  这里也举个栗子:build项目haha,生成ipa包之后,把后缀.ipa修改为.zip,然后解压出来就是payload文件夹,把里面的.app文件也放到桌面的CarshInfo文件夹里。

还需要找到主角DSYM这个文件,这里还是引用原文的方法:

接下来还需要dSYM文件,还是在Archives里,找到发布用的那个,右键Show in Finder,如图[-]

然后对文件夹中的这个.xcarchive文件右键,显示包内容,就可以看到一个名为dSYMs的文件夹,把里面的.dSYM文件拷出来,还是放到桌面的crash文件夹里。

这里接着举个栗子,其实就是在build项目haha的时候,右键haha.app ->show in finder,就可以看到haha.app.dSYM文件了。

最后,也是最重要的分析Crash的工具symbolicatecrash,据说这是一个隐藏工具,具体路径是:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
find /Applications/Xcode.app -name symbolicatecrash -type f
./symbolicatecrash /Users/xxxx/Desktop/crash/InOrder.crash /Users/xxxx/Desktop/crash/InOrder.app.dSYM > Control_symbol.crash
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

说不下去了,还是继续copy原文吧:

你也可以在终端中输入命令搜索:

把这个路径拷贝一下,然后粘到Finder的“前往文件夹”下,前往,就可以看到symbolicatecrash工具了,现在把它也拷到桌面的crash文件夹里。至此,crash文件夹里现在有4个文件了,分别是.app, .crash, .dSYM, symbolicatecrash。接下来就是用终端敲命令,生成更易分析的crash。

  首先用cd命令进入到crash文件夹下,然后输入以下命令

上述命令中,"xxxx"和"InOrder"请自行替换成对应的名称。运行,这时候终端可能会报错Error: "DEVELOPER_DIR" is not defined at /usr/local/bin/symbolicatecrash line 53. 这时候在终端中再输入如下(Xcode6.1.app依然是要替换成实际名称)

然后再跑一下刚刚的那个命令,这时候看一下桌面的crash文件夹下就会多出一个名为“Control_symbol.crash”的文件,这就是可定位问题的crash文件了,我们打开看一下。


duang~duang~duang~之前那些看不懂的十六进制地址后面有了具体的类名+方法名+行数。


到这里,你以为你掌握了一个牛逼的技能,其实,然并卵啊,不信你用一下友盟就知道了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值