程序真机上崩溃以后通常会留下一个.crash的日志文件,可以通过这个crash文件迅速查找到哪里崩溃了。但是这个文件中没有平时调试时候那样可以看到的函数名和函数具体调用行数。因为这里的这些信息都被转换成了16进制的地址,起到了一定的加密作用,别人拿到你的crash日志也不知道哪里崩溃了。
但是开发人员就不能一下子看出问题所在,需要利用你编译app的时候生成的dSYM文件然后讲这些信息反转化为可读模式。所以保留好你的dSYM文件,很有用的!
下面这写链接会让你知道具体怎么做:
- http://developer.apple.com/library/ios/#technotes/tn2151/_index.html
- http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html
- http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/
- http://furbo.org/2008/08/08/symbolicatifination/
你可以在上面文章中所提到的目录中找不到symbolicatecrash,因为它在新的SDK中被移到了这里:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/
DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
这里还有一个用来代替symbolicatecrash的工具,叫symbolicator: