我的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/