iOS 崩潰日志分析

個人對iOS崩潰日志分析的使用記錄。

一、無dsym文件:參考鏈接: https://www.cnblogs.com/ciml/p/7422872.html#commentform

主要使用了restore-symbol的一個工具,然后3步走:①修改工具restore-symbol權(quán)限 :chmod a+x restore-symbol处铛;②?我們拿到的崩潰日志來自arm64機器,所以先將二進制文件?CrashTest.app/CrashTest 瘦身 (必須正確選擇目標(biāo)CPU架構(gòu)類型,否則解析出來也是錯的呜笑,有的包可以跳過這一步):lipo -thin arm64 CrashTest -output CrashTest-arm64。接著用工具恢復(fù)符號表:./restore-symbol -o CrashTest-symbol CrashTest-arm64彻犁;③使用蘋果自帶命令行工具atos叫胁,將崩潰地址解析成具體函數(shù):atos -arch arm64 -o CrashTest-symbol -l 0x100030000 0x100034340 0x1000342b0。

# 簡單解釋一下這個命令汞幢,atos -arch CPU架構(gòu) -o 進制文件 -l 起始地址 ...一系列內(nèi)存地址 驼鹅; -l 后面跟的是模塊的起始地址,再后面可以羅列很多地址森篷,該命令會依次解析出具體函數(shù)输钩。最后輸出結(jié)果類似:-[ViewController getChild:] (inCrashTest-symbol) +64-[ViewController crashOnFunc:] (inCrashTest-symbol) +44。后面有的還會提示具體代碼錯誤行數(shù)

注意事項:有這樣個場景需要注意仲智,CrashTest.app/CrashTest原代碼文件必須與測試手機裝的版本一模一樣买乃,否則符號化后的函數(shù)以及具體地址是不正確的,或者在CrashTest原代碼改動小的情況下符號化后的函數(shù)以及具體地址是大概正確钓辆,但不準(zhǔn)確的剪验。那么就有一點需要注意,每個需要測試的版本或是上線的版本前联,都需要保存其CrashTest文件功戚。為什么說需要注意這點呢,因為其實諸如小公司開發(fā)似嗤,給測試安裝的包是不備份的啸臀,上線的有.xcarchive文件,里面可以找到線上的app文件烁落;甚至說這邊測試測著乘粒,開發(fā)的小伙伴(比如我)在那邊修改優(yōu)化一些代碼或刪除一些文件之類的席揽,造成比如一個V0.1.0,都是build1的版本谓厘,但無法完全解析出測試給出的崩潰代碼的正確函數(shù)及位置幌羞。


二、有dsym文件的其實網(wǎng)上資料比較多竟稳,這里記錄下自己的使用過程:

首先是.crash属桦、xx.app、xx.app.dSYM 3個文件的UUID需要一致(xx.app其實沒用到他爸,也可以不看)

1.查看 xx.app 文件的 UUID聂宾,terminal 中輸入命令 : dwarfdump --uuid xx.app/xx (xx代表你的項目名)

2.查看 xx.app.dSYM 文件的 UUID ,在 terminal 中輸入命令: dwarfdump --uuid xx.app.dSYM

3.查看 xx.crash 文件的 UUID:grep "AppName arm64"? a.crash(而不是原來友盟說的crash 文件第一行)

就是找到Xcode中的symbolicatecrash工具咯诊笤,路徑為:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash系谐。

crash文件的分析

①.配置環(huán)境變量DEVELOPER_DIR,(配置好了就不再需要)export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

②使用symbolicatecrash工具符號化崩潰日志: ./symbolicatecrash .crash文件 .dsym文件 > xxx.log?

③根據(jù)奔潰位置地址信息找到指定位置:dwarfdump--lookup?0x000cf358?--arch?armv7?appname.app.dSYM/

好吧讨跟,這個流程的3步是個人復(fù)制粘貼來的纪他,關(guān)鍵是定位不正確,感覺有點坑晾匠,也可能是個人流程錯誤茶袒。所以暫時還是使用無dsym文件的路程方案,之后可能還會來補下這里內(nèi)容凉馆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末薪寓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子澜共,更是在濱河造成了極大的恐慌向叉,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗦董,死亡現(xiàn)場離奇詭異母谎,居然都是意外死亡,警方通過查閱死者的電腦和手機展懈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門销睁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人存崖,你說我怎么就攤上這事∷荆” “怎么了来惧?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長演顾。 經(jīng)常有香客問我供搀,道長隅居,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任葛虐,我火速辦了婚禮胎源,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屿脐。我一直安慰自己涕蚤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布的诵。 她就那樣靜靜地躺著万栅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪西疤。 梳的紋絲不亂的頭發(fā)上烦粒,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音代赁,去河邊找鬼扰她。 笑死,一個胖子當(dāng)著我的面吹牛芭碍,可吹牛的內(nèi)容都是我干的义黎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼豁跑,長吁一口氣:“原來是場噩夢啊……” “哼廉涕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起艇拍,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤狐蜕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后卸夕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體层释,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年快集,在試婚紗的時候發(fā)現(xiàn)自己被綠了贡羔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡个初,死狀恐怖乖寒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情院溺,我是刑警寧澤楣嘁,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響逐虚,放射性物質(zhì)發(fā)生泄漏聋溜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一叭爱、第九天 我趴在偏房一處隱蔽的房頂上張望撮躁。 院中可真熱鬧,春花似錦买雾、人聲如沸把曼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祝迂。三九已至,卻和暖如春器净,著一層夾襖步出監(jiān)牢的瞬間型雳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工山害, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纠俭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓浪慌,卻偏偏與公主長得像冤荆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子权纤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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

  • 什么是崩潰日志 iOS的App在崩潰時钓简,系統(tǒng)會記錄下當(dāng)前的每個線程的調(diào)用棧信息等等,并保存到設(shè)備中汹想。這些信息匯總起...
    handyTOOL閱讀 3,947評論 0 12
  • 作為一名自認(rèn)為很牛逼的程序員外邓,當(dāng)你發(fā)現(xiàn)bug時你的內(nèi)心世界是這樣的: 當(dāng)你定位到bug,并花了一晚上把它改好古掏,發(fā)現(xiàn)...
    穿山甲救蛇精閱讀 12,928評論 10 74
  • 補充2個概念(來源掘金翻譯): 什么是 dSYM 文件 Xcode編譯項目后损话,我們會看到一個同名的 dSYM 文件...
    蠟筆小強閱讀 655評論 2 5
  • 我是06年11月開的公眾號,名字叫江南可采蓮蓮葉何田田槽唾,當(dāng)時是因為個人的獨特經(jīng)歷丧枪,很想在那年的感恩節(jié)發(fā)一些個人已經(jīng)...
    四月槐花香閱讀 249評論 0 0
  • 本文與網(wǎng)絡(luò)請求框架那篇文章大致類似,但封裝的更為完善庞萍,介紹的也更詳細(xì)拧烦,在項目中所有用到的網(wǎng)絡(luò)請求都需要該類參與。 ...
    隰有荷閱讀 461評論 0 1