为什么Valgrind不工作?

Rob*_*777 0 c ubuntu valgrind

我是C,Ubuntu的新手,并决定安装Valgrind并在这个简单的C代码上测试它:

#include <stdio.h>

int *p;

int main(void) {
    p = calloc(100, sizeof(int));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我已将此代码放在sum.c文件中并进行编译.然后我输入了:

valgrind --tool=memcheck --leak-check=yes sum
Run Code Online (Sandbox Code Playgroud)

在终端窗口,这是我得到的:

在此输入图像描述

我不知道它是继续循环还是只是卡住,但它会保持这种方式,直到我点击ctrl + d来停止它,这就是我得到的:

在此输入图像描述

难道我做错了什么 ?为什么我不能看到我有内存泄漏?

顺便说一句,这是Ubuntu版本11.04.

提前致谢

cni*_*tar 6

请注意

00000     0
Run Code Online (Sandbox Code Playgroud)

你正在运行/usr/bin/sum而不是你自己的可执行文件,因为你没有说./sum.这就是你必须击中的原因C-d:sum(1)等到EOF.


作为旁注,很可能你不会报告泄漏,而是"内存仍然可以访问".