我有一个iOS应用程序,我认为发生了内存破坏。因此,我在Xcode中启用了Guard Malloc、Guard Edges和Scribble,并运行它来尝试追踪问题。但是启用Guard Malloc后,事情就开始以非常奇怪的方式出错了。在某些(可预测的)情况下,视图的背景不会绘制,你可以看到它们后面的视图。如果我进行文件下载,应用程序会在下载结束时在主线程上崩溃,堆栈上除了main
之外没有我的代码,并且有时在控制台中记录一些图形错误:
<Error>: CGBitmapContextInfoCreate: unable to allocate 201000 bytes for bitmap data
<Error>: CGContextSetInterpolationQuality: invalid context 0x0
这些东西中有一些(例如CGBitmapContextInfoCreate
)在我的代码中没有使用。
最后记录的事情类似于:
Failed to VM allocate 262144 bytes
Explicitly trapping into debugger!!!
有没有其他人遇到过Guard Malloc导致这些错误?这可能是什么问题的根源?