iOS 崩潰調試 exc_bad_access(code=1,address=0x10)

來源:互聯網
上載者:User

標籤:

今天在測試過程中,發現了一個問題, 就是在ios 8以上的機器測試沒有問題,在ios 7上面測試很容易出現崩潰, 直接來了一句exc_bad_access(code=1,address=0x10),毫無頭緒, 就查資料,步驟如下:

1. 設定殭屍對象, 擷取更多的提示資訊

結果:真的擷取了更多的資訊:message sent to deallocated instance 

2. 然後 網上又搜資料, 大概的意思就是 通過找的已經釋放的地址,通過LLDB找到記憶體的釋放曆史,具體可參考:

http://blog.csdn.net/fg313071405/article/details/17448425

但是我的因為是真機出現的崩潰,在電腦上找不到具體的記憶體釋放地址。

3. 很明顯這是因為一個UIViewController釋放後,又再次向這個VC調用了某些請求導致。而且根據log發現該VC是執行了dealloc方法,這就說明可能是在VC中設定了 xxx.delegate=self; 當VC釋放後,這個xx還沒有被釋放,所以xx的回調方法還在調用delegate即這裡的vc, 所以崩潰就發生了。 

解決辦法是在dealloc中設定xx.delegate = nil;即可參考:http://blog.csdn.net/smking/article/details/43775523

仔細找了下 原來

self.navigationController.delegate = self; 因為這句。

最後:bug 解決 

iOS 崩潰調試 exc_bad_access(code=1,address=0x10)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.