错误warning: check_safe_call: could not restore current frame通常指示什么?我在其他地方读到它是内存问题。总是记忆问题吗?

我在设备(不是模拟器)上收到此错误。 NSZombieEnabled不显示任何内容。如果我进行构建和调试,则调试器窗口将不显示任何内容。峰值内存不是很高(3MB)。每次在地图上滚动后,它每次都因相同的错误而崩溃。

有什么想法如何调试吗?谢谢。

编辑:我在以下答案中添加了导致崩溃的原因(创建了太多的SQLite连接)。如果其他人遇到此错误并找到解决方案,请在下面发布。这似乎是一条错误消息,原因多种多样。

最佳答案

我已经看过几次了,但是从来没有能够真正地将其准确地指出一个问题。虽然,根据我所见,通常有某种无限循环或递归出错,调试器会捕获它。我不知道您是否将其留了足够长的时间,但是过一会儿,调试器应该开始加载它确实拥有的堆栈帧并将其显示在调试器窗口中。在那里,您应该能够看到问题所在。

就像我说的那样,通常当我看到这是由于无限循环或递归导致的,并且调试器将显示对同一函数的多达5000次调用时,所以发现问题应该不会太困难-而是说可能不是确切的问题。

只是我的两分钱。

关于iphone - 警告:check_safe_call:无法恢复当前帧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2295295/

10-09 09:28