symbolicatecrash分析真机crash原因

上周六参加cocoachina 8月份的线下活动,感觉很有收获,特别是有人提到了symbolicatecrash,symbolicatecrash是xcode自带的一个工具,可以根据真机上的crash日志,定位发生crash的位置,把默认显示的地址信息替换成代码信息
一开始找symbolicatecrash文件一直找不到,网上都这么写
Xcode 4.3的symbolicatecrash的位置和老版本的不一致了。

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

Xcode 4.3之前

/Developer/Platforms/iPhoneOS.
platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

但还是找不到,因为Applications下面根本就没有xcode这个文件(文件夹),后来我把xcode的安装目录拖到applications里面就可以了,原来就是在xcode安装源文件里就可以找到

symbolicatecrash工具能够把日志和dSYM文件转换成可以阅读的log信息,也就是将内存地址,转换成程序里的函数或变量和所属于的 文件名.所以我们我进行定位,需要依赖dSYM文件

实际上,dSYM文件中保存了相关symbol的内存地址信息,symbolicatecrash根据这些信息将.crash中的内存地址,一一替换成了相应的symbol。


有三个方案就是一个是切换到symbolicatecrash所在的目录下进行操作,另一个方案就是因为symbolicatecrash文件独立于xcode其他文件,所以可以把symbolicatecrash文件copy出来到dsym所在的文件夹里面,再有一个就是把symbolicatecrash文件copy到命令目录下,mac下是在/usr/bin 跟/usr/sbin下,我放到了前一个里面
然后就执行 symbolicatecrash -o  output.txt xx.crash  xxx.DSYM 命令,分析crash信息了


参考:http://blog.csdn.net/messageloop3/article/details/7805280
http://www.devdiv.com/CRASH分析利器_---_symbolicatecrash使用小记-weblog-21666-10217.html
http://www.cocoachina.com/macdev/cocoa/2010/0427/1222.html

猜你喜欢

转载自7090.iteye.com/blog/1639027