2010-08-24 70 views
0

所以我有一個程序,我正在開發和作爲即時通訊相當新的Objective-C和可可觸摸我不是很熟悉的內存管理在iPad應用程序開發的概念。我的問題是我的程序在沒有任何警告的情況下一直崩潰,並且沒有告訴我爲什麼,我打開斷點並顯示exc_bad_access信號。這導致我相信我沒有正確處理內存。或者我已經結束的其他事情都在看我的努力。無論哪種方式我需要一些幫助。如果任何人都可以看看應用程序,並告訴我任何可能導致它行事的事情,那就太好了。需要內存管理的幫助

該程序的重​​點在於它顯示了20個數字爲0-19的瑪雅字形,您一次將一個字形拖拽到白色的「拖放區域」中,並添加它們並顯示結果。但是幾乎每次只要第二個字形被放入就退出,或者它將顯示答案,並且當您刪除其中一個字形以添加另一個字形時,它將退出。

任何幫助將不勝感激。感謝計算器:)

source files here

回答

1

結識調試器。在看到EXC_BAD_ACCESS和程序暫停的地方,查看調用堆棧,以便真正瞭解信號的來源。

此外,在訪問已被釋放的對象時,在環境變量中將NSZombieEnabled設置爲YES會很有用。爲此,請打開可執行文件的信息面板(組&文件窗格,展開'可執行文件',並打開您的項目構建的可執行文件的信息面板),並在「參數」中添加一個名爲NSZombieEnabled的值爲YES的環境變量。有了這個功能,任何被釋放的對象實際上都會變成一個'殭屍'類的實例,這將允許您捕獲發送到這些實例的任何消息。