Crash的解析以及定位

一、.dSYM

1.簡介

.dSYM(debugging SYMbols)又稱為調(diào)試符號表薛训,是蘋果為了方便調(diào)試和定位問題而使用的一種調(diào)試方案媒吗,本質(zhì)上使用的是起源于貝爾實(shí)驗(yàn)室的DWARF(Debugging With Attributed Record Formats),其在.xcarchive目錄中的層次結(jié)構(gòu)為:


截屏2021-05-23 下午4.48.01.png
2.確定符號表和崩潰日志的一致性

終端輸入:

xcrun dwarfdump --uuid /Users/xxxx/Desktop/xxxx.app.dSYM

即可獲取對應(yīng).dSYM文件的UUID乙埃,這個(gè)UUID必須與.crash文件中的UUID相匹配


24611262-92d9db408a4009c7.png

二.通過.dSYM定位崩潰位置的三種方法

1. Symbolicatecrash

先介紹下Symbolicatecrash闸英,symbolicatecrash 是 Xcode 中自帶的perl腳本工具,通過iPhone的崩潰日志和應(yīng)用的.dSYM文件定位發(fā)生崩潰的位置介袜,把Crashed日志中的一堆地址替換成代碼相應(yīng)位置甫何。
xxx.crash 文件的內(nèi)容是十六進(jìn)制顯示的 ,給我們的分析排錯(cuò)造成很大阻力遇伞, 所以我們需要用到 symbolicatecrash 來符號化辙喂。

  • 先在Mac 桌面創(chuàng)建一個(gè)新的文件夾,命名為crash
  • 找到 symbolicatecrash文件鸠珠,拷貝 symbolicatecrash 到 crash文件夾中巍耗。
    symbolicatecrash文件路徑為:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
  • 找到 .dSYM 文件和.ipa以及.crash log文件,拷貝到crash文件夾中
  • 終端 cd 進(jìn)入 crash 渐排,執(zhí)行以下命令就可以生成最終的符號化的新 .crash 文件了
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
./symbolicatecrash ./*.crash ./*.app.dSYM > analysis.crash      

analysis.crash 需要自己命名炬太,這里使用的是 analysis
如果有報(bào)錯(cuò)可以使用以下命令,xxxx.crash 為原crash文件驯耻,再執(zhí)行以上步驟

./symbolicatecrash /Users/xxx/Desktop/Crash/xxxx.crash 

符號化前:


截屏2021-05-23 下午5.05.41.png

符號化后:
截屏2021-05-23 下午5.05.50.png

2. crash反解析

24611262-697db8c6488fbf19.png

xxx 0x0000000107fc24a4 0x104488000 + 62104740

0x104488000 符號表起始地址
0x0000000107fc24a4 崩潰發(fā)生運(yùn)行時(shí)地址
62104740 偏移量
0x0000000107fc24a4 = 0x104488000 + 62104740
運(yùn)行崩潰時(shí)堆棧地址 = 運(yùn)行時(shí)起始地址 + 偏移量

atos已經(jīng)封裝了地址尋找亲族,命令格式如下

atos -arch arm64 -o xxxx.app.dSYM/Contents/Resources/DWARF/xxxx -l 0x102134000 0x0000000106150124

既可以得到對應(yīng)崩潰的方法以及行號

-[TestVc doAdd:level:zIndex:] (in xxx) + 616

如果是armv7就把a(bǔ)rm64 換為armv7

3.dSYM工具

https://github.com/answer-huang/dSYMTools
使用起來比較簡單

  • 將打包發(fā)布軟件時(shí)的xcarchive文件或者.dSYM文件拖入軟件窗口內(nèi)的任意位置
  • 選中任意一個(gè)版本的xcarchive文件,或者.dSYM文件可缚,右邊會(huì)列出該xcarchive文件支持的CPU類型孽水,選中錯(cuò)誤對應(yīng)的CPU類型。
  • 對比.crash給出的UUID和工具界面中給出的UUID是否一致城看。
  • 將錯(cuò)誤地址以及 Slide Address 輸入工具的文本框中女气,點(diǎn)擊分析。


    24611262-bf6935526acc0b51.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末测柠,一起剝皮案震驚了整個(gè)濱河市炼鞠,隨后出現(xiàn)的幾起案子缘滥,更是在濱河造成了極大的恐慌,老刑警劉巖谒主,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朝扼,死亡現(xiàn)場離奇詭異,居然都是意外死亡霎肯,警方通過查閱死者的電腦和手機(jī)擎颖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來观游,“玉大人搂捧,你說我怎么就攤上這事《疲” “怎么了允跑?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搪柑。 經(jīng)常有香客問我聋丝,道長,這世上最難降的妖魔是什么工碾? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任弱睦,我火速辦了婚禮,結(jié)果婚禮上渊额,老公的妹妹穿的比我還像新娘况木。我一直安慰自己,他們只是感情好端圈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布焦读。 她就那樣靜靜地躺著子库,像睡著了一般舱权。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仑嗅,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天宴倍,我揣著相機(jī)與錄音,去河邊找鬼仓技。 笑死鸵贬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脖捻。 我是一名探鬼主播阔逼,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼地沮!你這毒婦竟也來了嗜浮?” 一聲冷哼從身側(cè)響起羡亩,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎危融,沒想到半個(gè)月后畏铆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吉殃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年辞居,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛋勺。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓦灶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迫卢,到底是詐尸還是另有隱情倚搬,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布乾蛤,位于F島的核電站每界,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏家卖。R本人自食惡果不足惜眨层,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望上荡。 院中可真熱鬧趴樱,春花似錦、人聲如沸酪捡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逛薇。三九已至捺疼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間永罚,已是汗流浹背啤呼。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呢袱,地道東北人官扣。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像羞福,于是被迫代替她去往敵國和親惕蹄。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

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