查找symbolicatecrash:
打開終端輸入如下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
你會找到:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
切換到桌面的Crash目錄下: cd ~/Desktop/crash1
./symbolicatecrash /Users/guangzhoutuosheng/Desktop/crash/crash-report-mkt\ copy-1.txt /Users/guangzhoutuosheng/Desktop/crash/mktcopy.app.dSYM > Control_symbol.crash
這時候終端有可能會出現:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60
輸入命令:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
再執行./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash 這時候終端將會進行處理了
處理結果是生成一個新的文件symbol.crash。這個文件就能用於分析了。
獲取app UUID
命令:dwarfdump --uuid YourApp.app.dSYM
app
使用dwarfdump檢查dSYM和app是否匹配
搞iPhone開發就要不停地發版本,隨之而來的就是各類版本的crash log。若是不能好好地管理,那麼開發人員很快就會在crash log和版本的海洋裏迷失方向。
MAC上有個免費的小工具——dwarfdump,能夠簡便地檢測出app和相應的dSYM。
使用起來很簡單。分三步便可。
1> 根據crash log,獲得App的UUID。UUID是個字符串,由32個字符組成。獲得了UUID,你才能知道是你的哪一個版本在用戶的iPhone上出了問題。
2> 使用dwarfdump檢查app,看哪一個app是上面那個UUID。命令行格式:
dwarfdump --uuid YourApp.app/YourApp
3> 用dwarfdump檢查dSYM文件是不是上面的UUID。命令行格式:
dwarfdump --uuid YourApp.app.dSYM
若是三者的UUID都是一致的,那麼恭喜你,該crash log能夠被正確解析出來,stack traces信息能夠被正確地拿到。工具