我的iOS应用程序具有很多网络功能。我当然将重要数据保存到文件系统中以供离线查看等,并且它过去可以完美地工作而没有任何问题。现在,当我尝试在飞行模式下进行测试以模拟没有互联网连接时,GDB输出以下内容:

2011-04-17 21:34:13.291 Bronto Backup Mobile App[195:307] *** -[UIAlertView release]: message sent to deallocated instance 0x3e93630

我在gdb中尝试了malloc调试,但是它告诉我进程未运行或找不到命令。我将如何找出错误发生的地方? backtrace除了通常的NSAutoreleasePoolPop东西外没有给我任何东西。

为了我的爱,我只是无法找到此错误的出处。 NSZombiesEnabled告诉我地址​​,但是malloc_history pid 0x3e93630只是给我抛出一个错误,说gdb不知道该命令,即使前面有信息。

最佳答案

某些东西保留不足或释放过多。使用“僵尸”模板在Instruments中运行您的应用。这将向您显示哪个对象存在内存问题,并让您查看该对象的整个保留/释放历史记录。那应该为您指明正确的方向。

关于cocoa-touch - iOS App因“发送到已释放实例的消息”而崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5698575/

10-16 18:02