gpt4 book ai didi

ios - GuardMalloc 导致虚拟内存耗尽

转载 作者:IT王子 更新时间:2023-10-28 23:34:21 31 4
gpt4 key购买 nike

由于看起来内存不足或内存损坏情况,我们的应用偶尔会在现场遇到崩溃(通过 BugSense 发现),因此为了帮助我追踪它们,我启用了以下功能:

  • Malloc 涂鸦
  • Malloc 保护边缘
  • 保护马洛克
  • Objective-C 僵尸对象
  • Malloc 堆栈日志记录
  • 记录异常。

在模拟器中与应用交互一段时间后(少于 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 and Allocations 工具进行分析时,没有发现任何泄漏,并且所有内存的 Live Bytes 值介于 30 MB 和 80 MB 之间(取决于它当时在做什么)。对于一个应用来说,这肯定不是太多的内存。

但是,这些消息表明我的应用程序使用了太多内存,但我不确定是什么导致了虚拟内存耗尽。 Xcode 中是否有其他可用的工具或调试器设置来提供帮助?

谢谢,
大卫

最佳答案

User1118321 是对的。 NSZombies 是造成这个问题的原因。

提交此答案以便可以接受答案。

关于ios - GuardMalloc 导致虚拟内存耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13999005/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com