【iOS】EXC_BAD_ACCESS小結

轉載地址:
EXC_BAD_ACCESS小結

  • 簡單的理解:當遇到了 EXC_BAD_ACCESS 異常,意味着 訪問了一個已經被釋放的內存區域
  • 指針層面理解:從C、OC語言來解釋,我們平時所操作的對象其實是一個指針,指針是指向另一塊存儲區域的變量。當向一個對象發送消息,指向這個對象的指針需要被使用,也就是你獲得了指針指向的內存地址並且可以訪問該內存塊的值。當系統不再爲你映射該內存塊時,換句話說,該內存塊已經不能夠被你所使用,則不可以再次訪問該內存塊。 如果再次訪問這塊內存,發生這種情況時,內核會發送一個異常(EXC),表明您的應用程序無法訪問該內存塊(BAD ACCESS)。

總之,當遇到了 EXC_BAD_ACCESS 異常,意味你嘗試向一個塊已經不能執行這個消息的內存塊發送消息。在某些情況下,訪問野指針也會導致EXC_BAD_ACCESS。當應用程序嘗試去使用一個 野指針 的時候,EXC_BAD_ACCESS就會被內核拋出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章