升级到iOS 4.0 sdk后,我的应用程序在退出时崩溃。如何解决这个问题?

时间:2010-07-08 08:16:49

标签: iphone ios4

每次我在模拟器中退出应用程序。 控制台显示以下错误消息:

*** -[NSThread _nq:]: message sent to deallocated instance 0x6d770e0

看起来该应用尝试访问已取消分配的实例。 但无论如何,即使使用乐器也无法找到它。

我找不到导致问题的代码行。

P.S。我已经尝试过任何我知道的方法来调试这个问题。但还没有成功。 我启用了NSZombie并使用仪器来帮助我找出错误。但错误报告没有指向我自己的任何代码。我不知道为什么会这样。

2 个答案:

答案 0 :(得分:2)

在XCode的左窗格中双击您的可执行文件,转到参数选项卡,添加一个名为NSZombiesEnabled的新文件,并将其值设置为YES。这会将所有解除分配的实例设置为NSZombie,您将能够分辨出要释放的类型。

注意:必须先将其关闭,否则您的应用永远不会释放内存!

答案 1 :(得分:1)

修正了,这个问题是我访问不在主线程中的接口对象。你可以[self performSelectorOnMainThread....]

这样做