2010-03-02 69 views
2

我對iPhone開發很陌生,遇到內存管理問題。Objective C保留/釋放調試

我建立與該結構的多視點應用:

Main Menu - Preferences - Subview with UIPicker Item.

導航與導航控制器(PUSH/POP視圖向/從堆棧)來完成。

一切工作正常。但是如果我使用UIPicker從首選項切換到子視圖約20次,則程序崩潰。

有時我得到的消息是這樣的:

objc[5817]: FREED(id): message release sent to freed object=0x3d53390

問題是,我不知道問題出在哪裏。

是否有任何一種可能性來獲得一些擴展信息,以查看哪個對象發生了崩潰?

回答

1

你可能想張貼一些代碼,看看是否有人能趕上您的錯誤,但要回答你的問題:

你可以啓用Zombies

你要做的是在你的應用程序中啓用殭屍,這使得當一個對象被釋放時,而不是釋放內存,它會被存儲在過去的對象類型中。當該內存再次被觸摸時,該應用程序會崩潰,告訴你它在什麼時候第一次被觸摸,它不應該被觸摸,以及它是什麼類型的對象。

確保當你完成禁用殭屍時,因爲它消耗了太多的內存。