如何用基本的c例子运行valgrind?

时间:2015-03-28 23:26:29

标签: c++ c memory-leaks malloc valgrind

安装:

bzip2 -d valgrind-3.10.1.tar.bz2
tar -xf valgrind-3.10.1.tar 

然后:

./configure
make
make install

或更简单

sudo apt-get install valgrind

如何在简单的程序example1.c上运行valgrind

#include <stdlib.h>
int main()
{
    char *x = malloc(100); /* or, in C++, "char *x = new char[100] */
    return 0;
}

执行命令

valgrind --tool=memcheck --leak-check=yes example1
valgrind: example1: command not found

来自控制台的输出:

valgrind: example1: command not found

2 个答案:

答案 0 :(得分:15)

看起来不错。您只需要在可执行文件之前添加./。没有它,valgrind无法找到它并报告'command not found'

valgrind --tool=memcheck --leak-check=yes ./example1
                                          ^

答案 1 :(得分:1)

首先,编译你的C程序:

gcc -g example1.c -o example1

然后在可执行文件上运行valgrind:

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