在實(shí)際的開發(fā)過程中,作為開發(fā)者的我們常常會(huì)碰到一種場(chǎng)景,那就是真機(jī)調(diào)試時(shí)崩潰了,而有時(shí)又不能在Xcode中打印出崩潰信息,那么這時(shí)候我們就必須要獲取到崩潰原因,從而解決問題。
而在萬能的Xcode中,你可以找到自己測(cè)試機(jī)里的崩潰日志。Window
-> Devices
-> 選中自己的測(cè)試機(jī) View Device Logs
,類似下圖
而此時(shí)你可以選擇導(dǎo)出自己的崩潰日志,并且這里的我們看到的崩潰日志,都是Xcode已經(jīng)幫我們符號(hào)化的,很清晰的就可以看到崩潰原因,以及崩潰的位置。
如果是其他用戶,下載了我們的App之后出現(xiàn)了崩潰,我們可以從iTunes Connect
中獲取到其他用戶的崩潰日志,但是這時(shí)如果你去看他人的崩潰日志,不出意外您是懵逼的。這是崩潰日志么? 天書還差不多。而如何把他人的崩潰日志符號(hào)化呢? 這就是我們接下來要講的內(nèi)容了。
依舊是萬能的Xcode給我們提供了一個(gè)工具 —— symbolicatecrash,這是一個(gè)Xcode自帶的分析工具,可以通過機(jī)器上的崩潰日志和應(yīng)用的.dSYM
文件定位發(fā)生崩潰的位置,把Crash
日志中的一堆地址替換成代碼相應(yīng)的位置。
如何使用symbolicatecrash分析崩潰日志
在你的桌面創(chuàng)建一個(gè)新文件夾,并且命名為"CrashReport"
打開終端輸入
find /Applications/Xcode.app -name symbolicatecrash -type f
,然后終端會(huì)返回這個(gè)文件的路徑,只要找到symbolicatecrash
文件, 復(fù)制然后粘貼到剛才創(chuàng)建的 "CrashReport" 文件夾里面.從Xcode Archive的二進(jìn)制文件中找到.dSYM文件和.app文件拷貝到剛才創(chuàng)建的
CrashReport
文件夾里面.打開終端進(jìn)入CrashReport文件夾,依次輸入以下命令行:
cd /Users/username/Desktop/CrashReport
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
這時(shí)候終端將會(huì)進(jìn)行處理......
處理結(jié)果是生成一個(gè)新的文件symbol.crash。然后打開這個(gè)文件。
你就會(huì)看到日志跟我們調(diào)試APP的控制臺(tái)輸出的內(nèi)容一樣了!
天書變成了可以看懂的崩潰記錄,攻城獅們,趕緊改Bug吧。
不知不覺博客更新了一年了,2017的第一篇日志,希望大家新年無Bug。