如何解释Xcode中Guard Malloc的"无法分配VM"

hug*_*gie 9 xcode objective-c

有没有关于Guard Malloc解释和解决问题的好教程?

我收到的消息如"VM无法分配262144字节",我不知道这意味着什么.最初我认为系统中缺少RAM,但可能不是这样.如果这是一个问题,我迫切需要学习如何解释和捕获错误.

我与Guard Malloc的另一个问题是它是否保护在项目的C代码中分配的内存(它应该正确?考虑名称)还是仅仅应用于Objective-C?我问的原因是我刚刚发现NSZombieEnabled只适用于Obj-C.

非常感谢帮助.几天来我一直在搞乱可能的内存错误.我还没有能够为iOS编译Valgrind.

Sco*_*hok 5

1)我一直在使用guard malloc来解决分配失败问题以解决空间耗尽问题 - 每次分配至少占用一页无法重用的地址空间.当前未分配的内存的使用将在guard malloc中崩溃,而不会导致分配失败.

2)顾名思义,guard malloc替换malloc(3)的实现,因此将检查使用malloc的C代码.

请注意,警卫malloc不是银弹.你仍然需要通过测试暴露你的应用程序的错误; 警卫malloc只会导致崩溃发生得更早,更可靠.

您可能还想阅读"man libgmalloc".