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ò)誤胶台。蘋果這次帶來(lái)了革命性的提升。
在項(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ì)詢問(wèn)用戶是否同意收集應(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)入分析頁(yè)面后八酒,tab中選擇“指標(biāo)”
然后在左側(cè)的菜單中選擇“崩潰”
這樣就可以看到蘋果收集到的崩潰統(tǒng)計(jì),一定要注意這里只是一部分的數(shù)據(jù)刃唐,舉例來(lái)說(shuō)如果你看到的崩潰是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ā)生了!V缃印爽篷!在打開的項(xiàng)目中,會(huì)直接定位到崩潰的那行代碼慢睡。這大大提高了調(diào)試的效率逐工!我已經(jīng)的迫不及待要和開發(fā)安卓的同事分享這份喜悅了。
注意漂辐!注意泪喊!
因?yàn)橹暗捻?xiàng)目發(fā)布時(shí)沒(méi)有用xcode7打包,所以猜測(cè)符號(hào)表可能沒(méi)有上傳到蘋果服務(wù)器髓涯,所以以前的項(xiàng)目可能不能直接顯示是哪行代碼袒啼,而是顯示調(diào)用時(shí)出錯(cuò)的內(nèi)存地址。不過(guò)下個(gè)版本你用xcode發(fā)布后就可以正澄臣停看到啦蚓再。
在解決完這個(gè)crash后可以標(biāo)記為已經(jīng)解決。有兩個(gè)地方可以標(biāo)記包各。
所以沒(méi)有升級(jí)xcode7的同學(xué)趕緊升吧摘仅。O(∩_∩)O~