是否有可能debugging“由于内存错误终止”?

在某个(一致的)时候,当我的应用程序正在运行时,我始终得到xcode错误消息

由于内存错误而终止。

我找不到导致错误的代码,但是我可以告诉错误附近有什么代码(使用断点)。

这个错误是在我的实现中返回一个特定的单元格后直接导致的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

UITableViewDataSource委托方法。 我可以确认它正在返回一个有效的UITableViewCell ,但我认为解释和发布整个方法将浪费你的时间。 不过,我怀疑这可能是由于内存的快速大量分配造成的。

它绝对说是Terminated due to memory error ,而不是内存压力Terminated due to memory error

我想知道消息是什么意思。 另外,有没有什么办法来debugging这个消息? 没有生成崩溃报告。

我正在使用ARC和iOS 7。

我得到这个错误,不明白什么是错的。

经过一番search,我发现我忘记了禁用僵尸。

要禁用,请执行以下操作:

选择编辑方案

取消选中“启用僵尸对象”

我遇到了同样的问题 (“终止由于内存错误”)我已经尝试了以上所有的答案,但没有为我工作。 然后我debugging我的代码,发现一个for循环运行无限的时间与分配内存的数组与每个nil值每次。使用300 + MB所以它给这个错误

谢谢。

我有完全相同的问题。 我以为这导致我的程序有内存泄漏或使用太多的内存。 我用仪器和分配configuration文件和程序工作正常。 另外,我用设备运行程序足够长,而且还能正常工作。

我也使用iPad的第三代debugging,这可能是由于该设备或错误的缓慢,它似乎只是Xcode和运行从Xcode的问题。 不是内存泄漏或分配的问题。

如果你确定仪器和设备上运行的应用程序本身和工作

编辑该计划,在诊断下,你会发现几个选项来防止分配。 有关详细信息,请参阅文档 。

问题是:它真的说“由于内存错误而终止”而不是“压力”? 如果您的应用程序内存不足,请检查仪器,如果应用程序在内存上似乎不足,那么无论确切的消息是什么,这都是您应该关注的内容。

我正在使用Tesseract进行OCR,当我的目标文本被扫描时,GIF应该会播放。 当GIF开始播放时,有一个从70-80MB到450MB的记忆秒杀。 问题是GIF占用太多的内存,应用程序会崩溃,Xcode会显示该消息。 所以我从ViewController的超级视图中删除了相关的imageView。

 imageView.removeFromSuperview 

在此之后,应用程序仍然会激增至450MB,但立即释放并下降到40MB