Xcode7中你一定要知道的炸裂調(diào)試神技

Xcode7中蘋果為我們增加了兩個重要的debug相關(guān)功能。了解之后覺得非常實用,介紹給大家。

1.Address Sanitizer: 媽媽再也不用擔(dān)心 EXC_BAD_ACCESS


EXC_BAD_ACCESS一直是很多開發(fā)者的噩夢,因為這個錯誤很不直觀,出現(xiàn)后往往要花很長時間才能定位到錯誤。蘋果這次帶來了革命性的提升。

在項目的Scheme中Diagnostics下,選中enable address sanitizer(注意選中后Xcode會重新編譯整個項目)。

這樣設(shè)置后,如果再出現(xiàn)類似的錯誤會有更詳細(xì)的錯誤信息提示,甚至?xí)袃?nèi)存使用情況的展示。

2.發(fā)布后的crash跟蹤,輕松定位崩潰代碼

在升級iOS9后,蘋果會詢問用戶是否同意收集應(yīng)用崩潰報告。這樣在itunes connect的后臺統(tǒng)計中就可以看到一些收集到的數(shù)據(jù)(通常會有相當(dāng)一部分用戶不同意,所以只是部分?jǐn)?shù)據(jù))。

2.1查看崩潰統(tǒng)計信息

在connect后臺中選擇app分析

進(jìn)入分析頁面后,tab中選擇“指標(biāo)”

然后在左側(cè)的菜單中選擇“崩潰”

這樣就可以看到蘋果收集到的崩潰統(tǒng)計,一定要注意這里只是一部分的數(shù)據(jù),舉例來說如果你看到的崩潰是10次,但是可能蘋果只收集了20%的用戶信息。所以你可以大概估計應(yīng)該是10*5=50次崩潰。

2.2在Xcode中查看具體崩潰信息

在xcode中菜單的window下選擇organizer,在打開的窗口中選擇Crashes,這樣Xcode會開始下載相關(guān)的崩潰信息到本地中(網(wǎng)絡(luò)環(huán)境不好時可能要等待一些時間)。

organizer窗口

可以在左側(cè)選擇你要查看崩潰信息的發(fā)布版本

在崩潰信息這一欄蘋果會按照崩潰數(shù)量排序,將崩潰數(shù)量最多的排在最前。右側(cè)的詳細(xì)信息會顯示是崩潰時的調(diào)用堆棧,可以看到是哪行代碼導(dǎo)致的崩潰。

選中要解決的崩潰后,可以在窗口右側(cè)選擇open in project。

神奇的事情發(fā)生了?。?/b>!在打開的項目中,會直接定位到崩潰的那行代碼。這大大提高了調(diào)試的效率!我已經(jīng)的迫不及待要和開發(fā)安卓的同事分享這份喜悅了。

注意!注意!

因為之前的項目發(fā)布時沒有用xcode7打包,所以猜測符號表可能沒有上傳到蘋果服務(wù)器,所以以前的項目可能不能直接顯示是哪行代碼,而是顯示調(diào)用時出錯的內(nèi)存地址。不過下個版本你用xcode發(fā)布后就可以正??吹嚼?。

在解決完這個crash后可以標(biāo)記為已經(jīng)解決。有兩個地方可以標(biāo)記。

原文鏈接:http://www.itdecent.cn/p/70ed36cf8a98

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容