我目前有一个函数会耗尽所有可能的空间来分配malloc。问题是malloc每次失败时都会打印一条恼人的错误消息:
a.out(32685,0x7fff75399000)malloc: * mach_vm_map(size = 1048576)失败(错误代码= 3) * 错误:无法安全地分配区域 ***在malloc_error_break中设置断点以进行调试
更糟糕的是它在函数最终完成之前打印了大约20次......
有没有办法阻止显示此错误消息?
修改
如果你很好奇我用来使malloc失败的功能看起来像这样:
#include <stdlib.h>
void breakmalloc(void)
{
int *i;
long long int n;
n = 1;
i = (int*)&n;
while (n)
{
while (i)
{
i = malloc(n);
if (i)
n = n + n;
}
n = n / 2;
i = (int*)&n;
}
}