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

本文是投稿文章,作者:卓同學(xué)

Xcode7中蘋果為我們?cè)黾恿藘蓚€(gè)重要的debug相關(guān)功能。了解之后覺得非常實(shí)用,介紹給大家。

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

EXC_BAD_ACCESS一直是很多開發(fā)者的噩夢(mèng),因?yàn)檫@個(gè)錯(cuò)誤很不直觀,出現(xiàn)后往往要花很長(zhǎng)時(shí)間才能定位到錯(cuò)誤。蘋果這次帶來了革命性的提升。

在項(xiàng)目的Scheme中Diagnostics下,選中enable address sanitizer(注意選中后Xcode會(huì)重新編譯整個(gè)項(xiàng)目)。

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

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

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

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

在connect后臺(tái)中選擇app分析

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

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

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

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

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

organizer窗口

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

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

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

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

注意!注意!

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

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

相關(guān)鏈接:

what's new in Xcode

所以沒有升級(jí)xcode7的同學(xué)趕緊升吧。O(∩_∩)O~

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

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

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