0

我收到此错误导致我的应用程序崩溃:

..Splash-it(1369,0x5783000) malloc: *** mmap(size=516096) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

我不知道为什么会导致错误。是内存问题错误吗?我该如何预防?“在 malloc_error_break 中设置断点进行调试”是什么意思?

感谢您的任何回答。

4

3 回答 3

1

在我的情况下,我得到这个是因为 imgCount 没有因为我的条件失败而获得价值。并且非 void 函数正在返回 imgCount 的值。

- (NSInteger)collectionView:(PSUICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    NSInteger imgCount;
    if(collectionView == self.imageCollection) {
        imgCount=self.imageCount;
    }
    return imgCount;
}

所以我通过将值分配给 imgcount 来解决它。这个对我有用。

于 2013-04-05T13:39:18.403 回答
1

您可能试图一次分配太多内存。我试图 malloc 疯狂的大量内存,我得到了这个错误。

于 2020-04-23T10:34:22.207 回答
0

不确定,但这是在我的情况下发生的,我通过删除 breakpoint解决了。

我正在从服务器加载数据并将它们添加到 tableview 并隐藏或显示页脚。有时我的页脚视图没有按我想要的那样出现,所以我插入了断点来检查出了什么问题。但是经过一段时间做同样的活动后,我的应用程序出现了上述错误。

我在没有断点的情况下尝试了 2-3 次,它没有崩溃,但是,每当我添加断点时,就会发生错误。

这可能不是您的情况,但我想如果您在主线程上执行一些大型操作并且如果您插入了断点,您至少可以尝试一次。

于 2013-03-20T09:59:21.300 回答