2015-02-12 95 views
0

當我運行使用儀器我的應用程序,我面對以下問題之前,應用程序最終崩潰:終止由於系統庫內存壓力和內存泄漏

  • 分配:有一個在總字節數最多持續增加到1-2GB。即使在檢測到任何泄漏之前也可以看到這種增加。
  • 泄漏:有多處泄漏。在查看調用樹,我覺得他們是在系統庫:
    • 與符號名稱,malloc_zone_malloc和的malloc在libsystem_malloc.dylib
    • 字節用於列顯示192個字節,100%

當我在xcode中運行它時,出現「由於內存壓力而終止」錯誤。

我的問題是 -

是提交bug報告與蘋果唯一的解決方案,因爲泄漏是系統庫?

泄漏是造成這次事故的唯一原因;考慮到只有192個字節被泄漏,並且在泄漏之前內存使用量增加了?

回答

0

當排除內存分配故障和泄漏時,排除系統庫並僅查找代碼幾乎總是一個好主意。你很難發現在覈心庫中發現這種基本的和容易發現的錯誤,而且以前沒有人關心過這個問題。

泄漏的事實在malloc中表示並不意味着任何內容。所有的內存分配將在最後通過mallocs。您需要先查找代碼中的錯誤。

+0

鑑於malloc意味着錯誤可能在代碼中的任何地方,是否有更好的起點來定位除註釋圖形密集代碼部分之外的錯誤? – 2015-03-04 21:03:46

+0

你不需要註釋掉東西。首先嚐試在分析器中運行它。 – sha 2015-03-05 17:44:40