Valgrind在Mac OSX 10.8上显示空程序的内存泄漏

时间:2013-04-25 08:52:50

标签: c macos valgrind memory-leaks

使用brew安装Valgrind。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    return 0;
}

gcc -g -o hello hello.c

valgrind --tool=memcheck --leak-check=yes ./hello

enter image description here

3 个答案:

答案 0 :(得分:6)

这不是您需要担心的内存泄漏。 ImageLoader是OS X运行时的一部分,负责加载二进制文件和动态库。它在初始化期间分配一些内存并忘记它,但它是无害的,因为它只是一小块内存分配一次。并且它做了许多Valgrind不喜欢的事情,但这并不是错误的。你应该add these to your suppression file

答案 1 :(得分:2)

Valgrind的Mac OSX 10.8支持仍然有限。 ImageLoaderMachO :: doInitialization ...应该在您的抑制文件中。

答案 2 :(得分:1)

另一个答案是正确的,我碰巧遇到了同样的问题,并且在创建抑制文件时遇到了一些麻烦。所以,为了帮助其他人,这里是我为Mac OS X Mountain Lion生成的最小抑制文件: https://www.dropbox.com/s/2btyqnf8uesgsis/minimal.supp

相关问题