使用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
答案 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