IOS開發:Xcode7中的一些調試技巧

來源:互聯網
上載者:User

   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後可以標記為已經解決。有兩個地方可以標記。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.