web-dev-qa-db-ja.com

基本的なcの例で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
16
andrew

よさそうです。実行可能ファイルの前に./を追加するだけです。それがなければ、valgrindはそれを見つけることができず、'command not found'を報告します。

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

まず、Cプログラムをコンパイルします。

gcc -g example1.c -o example1

次に、実行可能ファイルに対してvalgrindを実行します。

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