由于内存不足或内存损坏情况,我们的应用程序偶尔会遇到崩溃现象(通过BugSense发现),所以为了帮助我追踪它们,我启用了以下功能:
在模拟器中与应用程序进行一些交互(少于30秒)后,将显示以下消息:
GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused!
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed
GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused!
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed
禁用Guard Malloc后,该应用程序运行正常,但启用该应用程序时,应用程序会崩溃。当我使用Leaks和Allocations工具进行配置文件时,没有发现泄漏,并且所有内存的实时字节值都在30 MB到80 MB之间(取决于它当时正在做什么)。当然,应用程序的内存不会太多。
然而,消息指向我的应用程序使用太多内存,但我不知道是什么导致虚拟内存耗尽。是否有其他工具或调试器设置可供Xcode使用?
谢谢,
的 大卫
答案 0 :(得分:9)
User1118321是对的。 NSZombies是造成这个问题的原因。
提交此答案以便接受答案。