Xcode7中你一定要知道的炸裂調試神技

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

1.Address Sanitizer: 媽媽再也不用擔心 EXC_BAD_ACCESS?

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

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

這樣設置后,如果再出現類似的錯誤會有更詳細的錯誤信息提示,甚至會有內存使用情況的展示。

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

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

2.1查看崩潰統計信息

在connect后臺中選擇app分析

進入分析頁面后,tab中選擇“指標”

然后在左側的菜單中選擇“崩潰”

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

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

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

organizer窗口

可以在左側選擇你要查看崩潰信息的發布版本


在崩潰信息這一欄蘋果會按照崩潰數量排序,將崩潰數量最多的排在最前。右側的詳細信息會顯示是崩潰時的調用堆棧,可以看到是哪行代碼導致的崩潰。

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

神奇的事情發生了!!!在打開的項目中,會直接定位到崩潰的那行代碼。這大大提高了調試的效率!我已經的迫不及待要和開發安卓的同事分享這份喜悅了。

注意!注意!

因為之前的項目發布時沒有用xcode7打包,所以猜測符號表可能沒有上傳到蘋果服務器,所以以前的項目可能不能直接顯示是哪行代碼,而是顯示調用時出錯的內存地址。不過下個版本你用xcode發布后就可以正常看到啦。

在解決完這個crash后可以標記為已經解決。有兩個地方可以標記。

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

歡迎關注我的微博:@沒故事的卓同學

相關鏈接

what's new in Xcode

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容