使用Crashlytics 收集用戶崩潰日志

在做這個項目時舟铜,一開始并未考慮收集用戶的崩潰日志,都是由用戶直接反饋崩潰問題給客服或是產(chǎn)品經(jīng)理氓侧,然后再交于開發(fā)進行修復(fù),掩面导狡,好菜喔~

于是詢問了幾個朋友约巷,平安證券和我是大美人,采用的是Crashlytics,365好睡眠采用的是bugly,友公司魔庫采用的是友盟的SDK旱捧,再查查資料独郎,于是決定選用Crashlytics.

由于自己英文好菜,最開始的導(dǎo)入枚赡,先查了一堆資料氓癌,到真正導(dǎo)入成功,才發(fā)現(xiàn)其實很簡單贫橙,只需要注冊一個Fabric的賬號贪婉,下載客戶端,按照客戶端的指引操作卢肃,十分簡單就可以集成了疲迂。

唯一需要注意的是星压,如果使用了友盟的shareSDK,那么集成Crashlytics,會出現(xiàn)如下錯誤:

屏幕快照 2016-12-28 16.06.26.png

網(wǎng)上給出的答案是:
問題在于友盟的Twitter中內(nèi)嵌了低版本的fabric鬼譬, 和Crashlytics沖突了 需要手動導(dǎo)入友盟分享的sdk。

Crashlytics使用十分簡單和方便逊脯,而且上傳了dSYM符號集优质,可以準(zhǔn)確的定位到崩潰在哪一行,十分欣喜~~~

關(guān)于dSYM符號集

進行崩潰分析军洼,首先要弄懂一個概念巩螃,就是符號集。
符號集是我們對ipa文件進行打包之后匕争,和.app文件同級的后綴名為.dSYM的文件避乏,這個文件必須使用Xcode進行打包才有。

每一個.dSYM文件都有一個UUID甘桑,和.app文件中的UUID對應(yīng)拍皮,代表著是一個應(yīng)用。而.dSYM文件中每一條崩潰信息也有一個單獨的UUID跑杭,用來和程序的UUID進行校對铆帽。

我們?nèi)绻皇褂?dSYM文件獲取到的崩潰信息都是不準(zhǔn)確的。

符號集中存儲著文件名德谅、方法名爹橱、行號的信息,是和可執(zhí)行文件的16進制函數(shù)地址對應(yīng)的窄做,通過分析崩潰的.Crash文件可以準(zhǔn)確知道具體的崩潰信息愧驱。

我們每次Archive一個包之后,都會隨之生成一個dSYM文件椭盏。每次發(fā)布一個版本组砚,我們都需要備份這個文件,以方便以后的調(diào)試庸汗。進行崩潰信息符號化的時候惫确,必須使用當(dāng)前應(yīng)用打包的電腦所生成的dSYM文件,其他電腦生成的文件可能會導(dǎo)致分析不準(zhǔn)確的問題蚯舱。


1450406933247886.png

當(dāng)程序崩潰的時候改化,我們可以獲得到崩潰的錯誤堆棧,但是這個錯誤堆棧都是0x開頭的16進制地址枉昏,需要我們使用Xcode自帶的symbolicatecrash工具來將.Crash和.dSYM文件進行符號化陈肛,就可以得到詳細崩潰的信息。

崩潰分析
命令行解析Crash文件

通過Mac自帶的命令行工具解析Crash文件需要具備三個文件
symbolicatecrash兄裂,Xcode自帶的崩潰分析工具句旱,使用這個工具可以更精確的定位崩潰所在的位置阳藻,將0x開頭的地址替換為響應(yīng)的代碼和具體行數(shù)。

我們打包時產(chǎn)生的dSYM文件谈撒。

崩潰時產(chǎn)生的Crash文件腥泥。

我在解析崩潰信息的時候,首先在桌面上建立一個Crash文件夾啃匿,然后將.Crash蛔外、.dSYM、symbolicatecrash放在這個文件夾中溯乒,這樣進入這個文件夾下夹厌,直接一行命令就解決了。
symbolicatecrash我們可以在下面路徑下可以找到裆悄,我用的是Xcode7矛纹,其他版本Xcode路徑不一樣,請自行Google光稼。
1

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

然后Window->Organizer->Archives中或南,選中archive的版本右擊,選擇Show in Finder就可以獲取dSYM文件了钟哥。

1450407035763665.png

dSYM文件
將.Crash迎献、.dSYM、symbolicatecrash三個文件都放在我們在桌面建立的Crash文件夾中腻贰。
1450407076257105.png

Crash文件夾
開啟命令行工具吁恍,進入崩潰文件夾中
cd /Users/username/Desktop/崩潰文件夾
使用命令解析Crash文件
./symbolicatecrash ./.crash ./.app.dSYM > symbol.crash
如果上面命令不成功,使用命令檢查一下環(huán)境變量
xcode-select -print-path
返回結(jié)果:
/Applications/Xcode.app/Contents/Developer/
如果不是上面的結(jié)果播演,需要使用下面命令設(shè)置一下導(dǎo)出的環(huán)境變量冀瓦,然后重復(fù)上面解析的操作。
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
解析完成后會生成一個新的.Crash文件写烤,這個文件中就是崩潰詳細信息翼闽。圖中紅色標(biāo)注的部分就是我們代碼崩潰的部分。
1450407131766277.png

解析完成的結(jié)果
注意洲炊,以下情況不會有崩潰信息產(chǎn)生:
內(nèi)存訪問錯誤(不是野指針錯誤)

低內(nèi)存感局,當(dāng)程序內(nèi)存使用過多會造成系統(tǒng)低內(nèi)存的問題,系統(tǒng)會將程序內(nèi)存回收

因為某種原因觸發(fā)看門狗機制

通過Xcode查看設(shè)備崩潰信息
除了上面的系統(tǒng)分析工具來進行分析暂衡,如果是我們自己直接使用手機連接崩潰或者崩潰之后連接手機询微,選擇window-> devices -> 選擇自己的手機 -> view device logs 就可以查看我們的崩潰信息了撞叽。

1450407178539343.png

view device logs
只要手機上的應(yīng)用是這臺電腦安裝打包的叉存,這樣的崩潰信息系統(tǒng)已經(jīng)為我們符號化好了,我們只需要進去之后等一會就行(不要相信這里面的進度刷新愁憔,并不準(zhǔn)確)唧领,如果還是沒有符號化完畢 藻雌,我們選擇文件雌续,然后右擊選擇Re-Sysbomlicate就可以。
如果是使用其他電腦進行的打包胯杭,我們可以在這里面將Crash文件導(dǎo)出驯杜,自己通過命令行的方式進行解析。

參考:https://yq.aliyun.com/articles/46740

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末做个,一起剝皮案震驚了整個濱河市艇肴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叁温,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件核畴,死亡現(xiàn)場離奇詭異膝但,居然都是意外死亡,警方通過查閱死者的電腦和手機谤草,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門跟束,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丑孩,你說我怎么就攤上這事冀宴。” “怎么了温学?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵略贮,是天一觀的道長。 經(jīng)常有香客問我仗岖,道長逃延,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任轧拄,我火速辦了婚禮揽祥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘檩电。我一直安慰自己拄丰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布俐末。 她就那樣靜靜地躺著料按,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鹅搪。 梳的紋絲不亂的頭發(fā)上站绪,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音丽柿,去河邊找鬼恢准。 笑死魂挂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的馁筐。 我是一名探鬼主播涂召,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敏沉!你這毒婦竟也來了果正?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤盟迟,失蹤者是張志新(化名)和其女友劉穎秋泳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攒菠,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡迫皱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了辖众。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卓起。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凹炸,靈堂內(nèi)的尸體忽然破棺而出戏阅,到底是詐尸還是另有隱情,我是刑警寧澤啤它,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布奕筐,位于F島的核電站,受9級特大地震影響变骡,放射性物質(zhì)發(fā)生泄漏救欧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一锣光、第九天 我趴在偏房一處隱蔽的房頂上張望笆怠。 院中可真熱鬧,春花似錦誊爹、人聲如沸蹬刷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽办成。三九已至,卻和暖如春搂漠,著一層夾襖步出監(jiān)牢的瞬間迂卢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留而克,地道東北人靶壮。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像员萍,于是被迫代替她去往敵國和親腾降。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

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

  • 前言 崩潰是讓發(fā)人員比較頭痛的事情碎绎,app崩潰了螃壤,說明代碼寫的有問題,這時如何快速定位到崩潰的地方很重要筋帖。調(diào)試階段...
    進無盡閱讀 1,988評論 0 9
  • 該文章屬于劉小壯原創(chuàng)奸晴,轉(zhuǎn)載請注明:劉小壯[http://www.reibang.com/u/2de707c93d...
    劉小壯閱讀 37,534評論 45 122
  • 開發(fā)的App或者游戲提交審核后,偶爾會收到測試反饋的消息日麸,說應(yīng)用崩潰了蚁滋,bug偶爾出現(xiàn),難以找到確定的重現(xiàn)方法赘淮。怎...
    sky_kYU閱讀 1,365評論 0 0
  • 在iOS開發(fā)調(diào)試過程中以及上線之后,程序經(jīng)常會出現(xiàn)崩潰的問題睦霎。簡單的崩潰還好說梢卸,復(fù)雜的崩潰就需要我們通過解析Cra...
    趙yx閱讀 1,026評論 0 4
  • 那只樂隊—五月天 偉der誠品|2017-24 “最怕,空氣突然安靜 最怕副女,朋友突然的關(guān)心 最怕回憶突然翻滾絞痛著...
    偉der閱讀 256評論 0 4