有没有办法让malloc失败打印错误信息?

时间:2017-06-29 05:02:45

标签: c

我目前有一个函数会耗尽所有可能的空间来分配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;
    }
}

0 个答案:

没有答案