2011-05-30 95 views
0

我一直在得到这个随机的崩溃,其中我不知道如何再现再现。当我在浏览/使用了一段时间的应用程序,在这里和那里切换视图它发生,我得到这个:autorelease并保留导致消息发送到释放的消息

enter image description here

首先我不知道哪个是的UIImage此崩溃提到的。我有一个崩溃报告,但我不知道如何阅读它。我想重现这个错误,但是我不知道如何......它似乎很随机。有人可以帮我调试吗?

+0

如果您在调试器提示符下尝试以下操作:** gdb> **'po 0x555020',您是否看到与错误原因相同的对象(UIImage)? – 2011-05-30 17:42:12

+0

如果你仍然想阅读崩溃报告,你可以在这里找到指令:http://furbo.org/2008/08/08/symbolicatifination/ – 2011-05-30 17:51:09

回答

0

没有能够重现失败,这将是非常困难的。

如果你不能重现它,我会建议使用Xcode选项“构建和分析”来构建你的项目。事实上,由于这似乎是一个保留/释放的问题,“构建和分析”可能会给你一些暗示事情变坏的暗示。顺便说一句,如果你没有这样做,这是强烈建议,几乎是强制性检查。

您可以尝试发布崩溃报告,但我怀疑它会有用。重点是找出UIImage在哪里被释放,以及为什么,崩溃报告是指在UIImage发布后尝试使用UIImage,所以这可能会在您的代码的不同部分。

如果您怀疑某个类包含此UIImage,可以发布一些代码以便我们帮助您检查它。

作为一个希望有用的提示如何重现此问题,我还建议发送模拟器内存​​警告。事实上,在这种情况下,所有未显示的UIView都会被释放,这可能是UIImage的罪魁祸首。所以,你发送它,看看崩溃是否再次发生......只是一个提示,无论如何...

+0

我想他已经有NSZombieEnabled,因为它没有说Exc_BAD_ACCESS,并显示了什么他正试图保留。 – Cyprian 2011-05-30 17:39:28

+0

@Cyprian,是的,没错!谢谢!从我的答案中删除。 – sergio 2011-05-30 17:41:33

+0

以及我最好的猜测会在TTImageView。我在我的UITableViewCell中有这个,但我不想搞乱Three20的源代码。 – aherlambang 2011-05-30 18:01:42

0

很难说的东西肯定。这是我的猜测。

我看到你从外部来源“convore.com”获得一些数据。当你说你随机得到错误时,我认为这可能是由convore.com api收到的数据造成的。可能有时您不会从服务器获取图像,链接或图形,也不会创建图像,然后尝试保留它,导致出错。

+0

这是一种可能性以及..将调查它,谢谢 – aherlambang 2011-05-30 17:53:24

相关问题