2014-04-15 52 views
2

我無法發佈圖片,因爲我還沒有10代表所以我道歉,如果任何這是模糊的。Xcode 5儀器不顯示殭屍

我正在爲Mac OS X編寫一個ARC應用程序,它會引發EXC_BAD_ACCESS錯誤。爲了追蹤這個問題,我在「診斷」標籤下啓用了Zombie Objects。

我再啓動儀器(植物大戰殭屍)

最後,我記錄並導致應用程序崩潰併產生錯誤。然而,我沒有在樂器中獲得任何殭屍指標,而是收到了我的應用程序的應用程序問題報告,我正在描述我的應用程序「意外退出」。沒有堆棧跟蹤爲我導航,並且問題報告對我沒有多大用處。

EXC_BAD_ACCESS錯誤可能是由引用已釋放內存的指針以外的內容導致的嗎?在出現EXC_BAD_ACCESS錯誤時,我是否應該總是期望在這種情況下獲得殭屍?如果是這樣,那麼我怎麼能看到殭屍?我還需要配置什麼來獲取殭屍?

謝謝

+0

EXC BAD ACCESS總是與我引用取消分配指針有關。殭屍是最難搞清的之一。它有時會在一個不是真正問題的地方突破,有時會擺脫真正的問題。 – logixologist

+0

可能重複[NSZombieEnabled不起作用](http://stackoverflow.com/questions/2012205/nszombieenabled-does-not-work) – Caleb

回答

1

莫非EXC_BAD_ACCESS錯誤除了取消引用指向內存的指針之外的其他內容被釋放?

是的。該錯誤僅僅意味着您的程序試圖取消引用指向您的程序不被允許訪問的位置的指針。那可能是因爲它指向一個不再存在的對象,但它也可能發生在使用指針而不將其設置爲有效的第一個位置時,或者當您錯誤地嘗試使用非指針值作爲一個指針。

當我遇到EXC_BAD_ACCESS錯誤時,我是否應該總是期望得到殭屍?

沒有, NSZombieEnabled只能幫助你找到你正在試圖訪問一個重新分配的對象的情況。它不會幫助您處理產生EXC_BAD_ACCESS的其他情況。

1

您可以嘗試在Xcode中添加異常斷點。

  1. 點擊Xcode中 「斷點導航」 選項卡
  2. 點擊加號
  3. 點擊 「添加例外斷點」

    Exception breakpoint

+0

試過這個。 EXC_BAD_ACCESS錯誤仍然被拋出,而調用堆棧仍然無效。 – Pinxaton