命令行解析Crash文件

做了快兩年的開發(fā)了,沒有寫過博客,最近公司app上架,程序崩潰被拒絕了,可是給的crash文件,又看不出哪里的問題,網(wǎng)上各種搜,終于找到了解決的辦法,想想還是寫個博客吧,希望給哪些也遇到這類問題的朋友一點幫助吨灭。

什么是dSYM文件

? ? ? Xcode編譯項目后悍及,我們會看到一個同名的dSYM文件缎除,dSYM是保存16進(jìn)制函數(shù)地址映射信息的中轉(zhuǎn)文件配喳,我們調(diào)試的symbols都會包含在這個文件中雷袋,并且每次編譯項目的時候都會生成一個新的dSYM文件欢嘿,位于/Users/<用戶名>/Library/Developer/Xcode/Archives目錄下屎鳍,對于每一個發(fā)布版本我們都很有必要保存對應(yīng)的Archives文件莉给。

dSYM文件有什么作用

? ? ?當(dāng)我們軟件release模式打包或上線后毙石,不會像我們在Xcode中那樣直觀的看到用崩潰的錯誤,這個時候我們就需要分析crash report文件了颓遏,iOS設(shè)備中會有日志文件保存我們每個應(yīng)用出錯的函數(shù)內(nèi)存地址徐矩,通過Xcode的Organizer可以將iOS設(shè)備中的DeviceLog導(dǎo)出成crash文件,這個時候我們就可以通過出錯的函數(shù)地址去查詢dSYM文件中程序?qū)?yīng)的函數(shù)名和文件名叁幢。大前提是我們需要有軟件版本對應(yīng)的dSYM文件滤灯,這也是為什么我們很有必要保存每個發(fā)布版本的Archives文件了。

通過Mac自帶的命令行工具解析Crash文件需要具備三個文件

1.symbolicatecrash曼玩,Xcode自帶的崩潰分析工具鳞骤,使用這個工具可以更精確的定位崩潰所在的位置,將0x開頭的地址替換為響應(yīng)的代碼和具體行數(shù)黍判。?

2.我們打包時產(chǎn)生的dSYM文件豫尽。

3.崩潰時產(chǎn)生的Crash文件,例如:*.crash。

下面開始解析

? ? ? ? 第一步,在桌面新建一個文件夾,一般命名為Crash,然后將.Crash , ,.app.dSYM,?symbolicatecrash三個放到這個文件夾里,首先找到.app.dSYM文件,打開xcode,window->Organizer打開之后,找到上傳時候?qū)?yīng)的版本然后show in Finder

到了這個界面之后顯示這個包的內(nèi)容

到了這個頁面就可以看到.app.dSYM了

第二步,找到symbolicatecrash

首先給xcode打一個補(bǔ)丁:命令行運(yùn)行

/usr/bin/xcode-select -print-path ? ? ? ? ? ? ? ? ? ??

?如果輸出"/Developer"或者其他非"/Applications/Xcode.app/Contents/Developer/"的內(nèi)容顷帖,運(yùn)行下面的命令:

sudo /usr/bin/xcode-select -switch/Applications/Xcode.app/Contents/Developer/

2.查找symbolicatecrash:

find /Applications/Xcode.app -name symbolicatecrash -type f

獲取路徑美旧,這個命令可能執(zhí)行的時間長一點,耐心等待一下,找到這個路徑后復(fù)制下來,前往這個路徑就可以找到symbolicatecrash,把它復(fù)制下來放到開始建的那個文件夾里,Xcode7.3我當(dāng)時的路徑是/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

第三步,把三個文件都放到那個文件夾里,然后在終端執(zhí)行命令

1.首先切換到這個文件夾

cd /Users/app/Desktop/crash

2.解析這個Crash文件,*,xx指相應(yīng)的文件名字,多個Crash文件,重復(fù)使用這個命令就行,不過一定要把導(dǎo)出的文件名symbol.text改一下,以免覆蓋原來的

./symbolicatecrash ./*.crash ./xx.app.dSYM> symbol.text

3.如果上邊的命令不成功,使用命令檢查一下環(huán)境變量,返回結(jié)果是:/Applications/Xcode.app/Contents/Developer/

xcode-select -print-path

4.如果返回的不是上面的結(jié)果,需要使用下面的命令設(shè)置一下導(dǎo)出的環(huán)境變量,然后重新解析就行了

export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer

解析完成后,會在Crash文件夾生成一個symbol.text

打開后圖中紅色部分就是崩潰的地方

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贬墩,隨后出現(xiàn)的幾起案子榴嗅,更是在濱河造成了極大的恐慌,老刑警劉巖震糖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件录肯,死亡現(xiàn)場離奇詭異,居然都是意外死亡吊说,警方通過查閱死者的電腦和手機(jī)论咏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門优炬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厅贪,你說我怎么就攤上這事蠢护。” “怎么了养涮?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵葵硕,是天一觀的道長。 經(jīng)常有香客問我贯吓,道長懈凹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任悄谐,我火速辦了婚禮介评,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爬舰。我一直安慰自己们陆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布情屹。 她就那樣靜靜地躺著坪仇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垃你。 梳的紋絲不亂的頭發(fā)上椅文,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機(jī)與錄音惜颇,去河邊找鬼雾袱。 笑死,一個胖子當(dāng)著我的面吹牛官还,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播毒坛,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼望伦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了煎殷?” 一聲冷哼從身側(cè)響起屯伞,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豪直,沒想到半個月后劣摇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡弓乙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年末融,在試婚紗的時候發(fā)現(xiàn)自己被綠了钧惧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡勾习,死狀恐怖浓瞪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情巧婶,我是刑警寧澤乾颁,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站艺栈,受9級特大地震影響英岭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜湿右,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一诅妹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诅需,春花似錦漾唉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至场刑,卻和暖如春般此,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牵现。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工铐懊, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瞎疼。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓科乎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贼急。 傳聞我的和親對象是個殘疾皇子茅茂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 開發(fā)的App或者游戲提交審核后,偶爾會收到測試反饋的消息太抓,說應(yīng)用崩潰了空闲,bug偶爾出現(xiàn),難以找到確定的重現(xiàn)方法走敌。怎...
    sky_kYU閱讀 1,378評論 0 0
  • 如果大家是用真機(jī)在調(diào)試的過程中出現(xiàn)了Crash碴倾,那么請看iOS調(diào)試之 crash log分析 前言 導(dǎo)讀:Unde...
    KODIE閱讀 6,469評論 7 12
  • 本文就捕獲iOS Crash、Crash日志組成、Crash日志符號化跌榔、異常信息解讀异雁、常見的Crash五部分介紹。...
    xukuangbo_閱讀 1,581評論 0 0
  • 首先如果遇到應(yīng)用卡頓或者因為內(nèi)存占用過多時一般使用Instruments里的來進(jìn)行檢測矫户。但對于復(fù)雜情況可能就需要用...
    攻克乃還_閱讀 1,845評論 0 7
  • 1 小時候因為學(xué)習(xí)好片迅,總是在全校開會的時候拿著老師寫好的演講稿上臺演講,有一次的主題是“我的理想”皆辽,而我被分配的是...
    大林張閱讀 559評論 2 4