Symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的地址替换成代码相应位置
Xcode 4.3的symbolicatecrash的位置和老版本的不一致了。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/
Xcode 4.3之前
1 :将symbolicatecrash和 .app 文件 和.dsym 文件拷贝到同一个目录
2:cd 到目录文件;
3:执行./symbolicatecrash Myapp.crash Myapp.app.dSYM > MyApp_symbol.crash 命令
(说明,Myapp 是应用的名字,MyApp_symbol 是要到出来的日志)
4. 如果提示"DEVELOPER_DIR" is not defined
Xcode4.3之后 在终端中输入: export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
Xcode4.3之前 在终端中输入: export DEVELOPER_DIR=/Applications/Xcode.app
建议:每次打出版本后备份相应的.dSYM文件,对应版本崩溃后可根据此文件分析崩溃日志
查看.app,和.dSYM与崩溃日志是否一致的方法:
输入命令:
dwarfdump ‐‐uuid MyApp.app/MyApp
返回内容:
UUID: E2D9D241‐37D3‐CE06‐7272‐653B813963E2 (armv6) MyApp.app/MyApp
输入命令:
dwarfdump ‐‐uuid MyApp.app.dSYM
返回内容
UUID: E2D9D241‐37D3‐CE06‐7272‐653B813963E2 (armv6)MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
对比结果是否一致.