iOS 错误:检测到堆损坏,空闲列表已损坏且保护值不正确:0

问题描述 投票:0回答:4
GFF_MJ(3248,0x103f9ab80) malloc: Heap corruption detected, free list is damaged at 0x28298ffa0
*** Incorrect guard value: 0
GFF_MJ(3248,0x103f9ab80) malloc: *** set a breakpoint in malloc_error_break to debug

错误截图:

运行一段时间后,应用程序总是崩溃,但除了上面的提示之外我得不到任何信息。 现在我不知道如何解决,谁能帮助我?

谢谢你。

ios objective-c xcode10
4个回答
24
投票

这些错误一点也不好玩。最有可能的是,您在某处发生了缓冲区溢出,或者您正在使用一块已释放的内存并占用其他内存。

由于您可以让它在调试器中崩溃,因此更容易追踪。

首先按照错误消息的指示在

malloc_error_break
上设置断点。当您到达该断点时,这将提供更多线索,但仍然可能相当模糊。但是,您可以发布更多线索,我们可以从那里为您提供帮助。


5
投票

就我而言,这是模拟器(及其内存)的问题。

清理构建文件夹后尝试在真机中编译它或关闭模拟器并再次运行。


5
投票

我在 macOS 上遇到此错误。清理构建文件夹解决了问题。


0
投票

这发生在我身上,因为我在我的设备上打开了太多模拟器。关闭它们后,它起作用了。

© www.soinside.com 2019 - 2024. All rights reserved.