这个错误表明了什么?以及如何解决?

时间:2010-04-06 20:13:14

标签: iphone

编程收到信号:“0”。

2 个答案:

答案 0 :(得分:1)

如果没有堆栈跟踪或任何东西,它只是退出,这可能是内存问题。您的应用程序要求太多内存,操作系统将其关闭。

查找内存泄漏,并查看可能分配大量内存的区域(可能是图像数据操作)

还可以使用Object AllocationsLeaks工具来监控内存使用情况并分别查找泄漏。

答案 1 :(得分:0)

这可能是一个内存问题,你应该做的如下:

  • 在菜单运行中,选择Manage Breakpoints - >添加符号断点 - >输入:obj_exception_thrown。 (这应该允许您查看应用程序退出代码的位置)
  • 尝试从断点处查找过度发布的变量。可能很难找到。这里有一个提示:如果使用类方法来分配和初始化变量es [NSString stringWithFormat],那么该变量将由池自动释放,因此您不需要在其上调用[release]。
  • 如果以上所有操作均失败,请尝试以下过程: 在项目窗口中,在Groups&文件 - >可执行文件 - >获取信息 - >参数 - >添加两个变量:NSZombieEnabled& MallocStackLogging为YES。 (这将使内存分配堆栈的日志记录成为临时文件,然后您应该能够查看过度发布的变量的日志) 在调试应用程序的控制台窗口中,键入:$ shell malloc_history {processid} {address}(这里,您应该能够看到哪些方法导致过度释放的变量)。