Xcode自帶工具symbolicatecrash解析iOS Crash文件

一溪烤、簡(jiǎn)介

  1. 符號(hào)表是什么杭攻?

符號(hào)表就是指在Xcode項(xiàng)目編譯后家夺,在編譯生成的二進(jìn)制文件.app的同級(jí)目錄下生成的同名的.dSYM文件。
.dSYM文件其實(shí)是一個(gè)目錄该园,在子目錄中包含了一個(gè)16進(jìn)制的保存函數(shù)地址映射信息的中轉(zhuǎn)文件酸舍,所有Debug的symbols都在這個(gè)文件中(包括文件名、函數(shù)名里初、行號(hào)等)父腕,所以也稱之為調(diào)試符號(hào)信息文件
一般地青瀑,Xcode項(xiàng)目每次編譯后璧亮,都會(huì)生成一個(gè)新的.dSYM文件。因此斥难,App的每一個(gè)發(fā)布版本枝嘶,都需要備份一個(gè)對(duì)應(yīng)的.dSYM文件,以便后續(xù)調(diào)試定位問(wèn)題哑诊。

二群扶、crash日志符號(hào)化

1、準(zhǔn)備:
  • symbolicatecrash腳本工具

執(zhí)行如下命令

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

得到symbolicatecrash腳本工具路徑镀裤,然后按著該路徑找到該工具

/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
  • xxx.crash(crash日志)

1竞阐、如果設(shè)備就在身邊
連接設(shè)備,打開Xcode - Window -Devices and Simulaters -View Devices Log Organizer暑劝,然后根據(jù)時(shí)間排序查看crash日志骆莹。

2、如果應(yīng)用程序已經(jīng)提交App Store發(fā)布担猛,用戶已經(jīng)安裝使用
之前開發(fā)者可以在iTunes Connect查看崩潰日志幕垦,后來(lái)蘋果改成如下方式:在Xcode上登錄你的賬號(hào),打開Xcode - Window - organizer - Crashes

(PS:不過(guò)大多數(shù)發(fā)者并不依賴于此傅联。因?yàn)檫@需要用戶設(shè)備上同意上傳相關(guān)信息先改。考慮并不是所有iPhone用戶都允許發(fā)送診斷報(bào)告(crash日志)蒸走,而且對(duì)于部分提交Apple的crash日志仇奶,開發(fā)者需要手動(dòng)拉取,然后找到對(duì)應(yīng)符號(hào)文件進(jìn)行解析——這是一件繁瑣的事情比驻。所以實(shí)際項(xiàng)目中该溯,通常接入現(xiàn)有的crash收集工具,或者自己編寫一個(gè)進(jìn)行自動(dòng)化收集嫁艇、解析和統(tǒng)計(jì)匯總朗伶。所以實(shí)際項(xiàng)目中,通常接入現(xiàn)有的crash收集工具步咪,或者自己編寫一個(gè)進(jìn)行自動(dòng)化收集、解析和統(tǒng)計(jì)匯總益楼。)

  • xxx.app.dSYM

在Xcode - Window - Organizer - Archives中猾漫,找到對(duì)應(yīng)的版本
右擊Show in Finder,找到xxx.xcarchive
右擊顯示包內(nèi)容点晴,找到dSYMs文件夾

  • xxx.app

項(xiàng)目中Products目錄

2、操作:

放在同一目錄下悯周,執(zhí)行命令

./symbolicatecrash xxx.crash xxx.app.dSYM > Control_symbol.crash
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

三粒督、分析符號(hào)化后的crash日志

1、設(shè)備和crash信息
Incident Identifier: F3573A...E2F244A              //crash的id
CrashReporter Key:   cc2298...es77eeb              //crash的設(shè)備id
Hardware Model:      iPhone7,2                     //手機(jī)型號(hào)
Process:             [AppName] [1816]              //APP的名字[進(jìn)程的id]
Path:                /private/.../Application...   //APP的位置
Identifier:          com....                       //bundle ID
Version:             14 (2.3.5)                    //版本號(hào)
Code Type:           ARM-64 (Native)               //app的應(yīng)用架構(gòu)之類不大清楚禽翼,^_^
Parent Process:      launchd [1]

Date/Time:           2015-10-26 15:03:29.29 +0800    //crash發(fā)生時(shí)間
Launch Time:         2015-10-26 14:58:28.28 +0800    //進(jìn)入應(yīng)用時(shí)間
OS Version:          iOS 9.1 (13B143)                //iOS版本
Report Version:      105
2屠橄、異常信息
Exception Type:  EXC_BAD_ACCESS (SIGABRT)                      //異常的類型
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000118  //異常子類型
Triggered by Thread:  0                    //異常發(fā)生的線程(0為主線程,其他為子線程)
3闰挡、線程信息
Last Exception Backtrace:
0   CoreFoundation                    0x182780f48 __exceptionPreprocess + 124
1   libobjc.A.dylib                   0x197333f80 objc_exception_throw + 56
2   CoreFoundation                    0x182780e90 +[NSException raise:format:] + 120
3   [AppName]                            0x100c42a40 UmengSignalHandler + 144
4   libsystem_platform.dylib          0x197d6193c _sigtramp + 52
5   [AppName]                            0x1005d9f38 CScopePtr<IAVGAudioLogic>::operator IAVGAudioLogic*<IAVGAudioLogic>() (xprefc.h:165)
6   [AppName]                            0x1005d3b8c tencent::av::AVRoomMultiImpl::GetAudioLogic() (av_room_multi_impl.h:119)
7   [AppName]                            0x10057076c tencent::av::AVAudioCtrlImpl::SetAudioOutputMode(int) (av_audio_ctrl_impl.cpp:443)
8   [AppName]                            0x10044dc3c -[AVBasicManager changeSpeakerMode:] (AVManager.mm:525)
9   [AppName]                            0x100296e1c -[KTQAVRoom enableSpeakerMode:] (KTQAVRoom.m:345)
10  [AppName]                            0x1002970d0 -[KTQAVRoom settingSpeaker:] (KTQAVRoom.m:362)
11  [AppName]                            0x1003d5464 -[KTChatView onAudioNotificationReceived:] (KTChatView.m:685)

四锐墙、接入友盟SDK

參考鏈接:
http://www.reibang.com/p/12a2402b29c2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市长酗,隨后出現(xiàn)的幾起案子溪北,更是在濱河造成了極大的恐慌,老刑警劉巖夺脾,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件之拨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡咧叭,警方通過(guò)查閱死者的電腦和手機(jī)蚀乔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)菲茬,“玉大人乙墙,你說(shuō)我怎么就攤上這事∩” “怎么了听想?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)马胧。 經(jīng)常有香客問(wèn)我汉买,道長(zhǎng),這世上最難降的妖魔是什么佩脊? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任蛙粘,我火速辦了婚禮,結(jié)果婚禮上威彰,老公的妹妹穿的比我還像新娘出牧。我一直安慰自己,他們只是感情好歇盼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布舔痕。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伯复。 梳的紋絲不亂的頭發(fā)上祝拯,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天绣否,我揣著相機(jī)與錄音锥累,去河邊找鬼成翩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛叮雳,可吹牛的內(nèi)容都是我干的想暗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼帘不,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼说莫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起厌均,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唬滑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后棺弊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晶密,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年模她,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稻艰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侈净,死狀恐怖尊勿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畜侦,我是刑警寧澤元扔,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站旋膳,受9級(jí)特大地震影響澎语,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜验懊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一擅羞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧义图,春花似錦减俏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奏夫。三九已至,卻和暖如春草慧,著一層夾襖步出監(jiān)牢的瞬間桶蛔,已是汗流浹背匙头。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工漫谷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹂析。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓舔示,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親电抚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惕稻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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