2011-03-29 61 views
1

我在與根本原因無關的地方發現了EXC_BAD_ACCESS錯誤。幸運的是,我發現原因是數組對於以下語句[data getBytes:&tcpBuffer length:i];太小。查找EXC_BAD_ACCESS的原因 - 在Xcode4中

現在我的問題:我想所有這些三項方方法 - 但沒有成功:

  1. 使用NSZombiesEnabled在調試窗口打印
  2. 沒有改變任何東西。當我設定的計劃,調試和使用泄漏儀器啓動泄漏儀器,但我沒有看到調試器。
  3. 當我剛剛在iPhone模擬器和啓動儀器中分別運行應用程序時,選擇正在運行的應用程序作爲目標(在Instruments的彈出式菜單中),它會停止並顯示類似「找不到目標「。

如何找到這種情況下的根本原因?請記住,最後,它甚至不是殭屍錯誤!這個錯誤信息實際上比幫助更容易混淆!

(幸運的是,我只是覺得我的數組的,但肯定的是,接下來的時間,這將困擾着我別的地方)

回答

2

這是很可能的地方,你得到EXC_BAD_ACCESS將不相關的根本原因。它可能是相關的,因此可以提供線索。但這並不確定。

要回答你兩點:

  1. NSZombiesEnabled纔會有效果,如果你已被釋放的對象上調用的方法。這可能不是你的EXC_BAD_ACCESS的原因。

  2. 使用儀器與調試器是分開的。如果您在樂器中進行配置文件,則調試器不處於活動狀態。基本上,這是一個不同的工具。

  3. 這應該沒問題。檢查您的構建配置設置爲「調試」而不是「發佈」。

這裏是什麼原因導致EXC_BAD_ACCESS,以及如何有很大的聯繫,以追查問題的根源:

Lou Franco's Understanding EXC_BAD_ACCESS

+1

非常感謝YOUT輸入 - 在同時,我也很高興,ARC是地地道道有助於避免這些問題...... – user387184 2011-11-10 15:13:47

相關問題