2012-03-25 16 views
1

私はvalgrindを以前使用していませんが、メモリリークをチェックするために使用する必要があります。私は私のマシンにインストールされているvalgrindのを知っているvalgrindを実行中

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

:よう http://www.cprogramming.com/debugging/valgrind.html

が、これは例1のファイルが見えるものです:私はこのサイトからの指示に従っ

G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log example1 
valgrind: example1: command not found 

:私は、次のコマンドを実行しました私は次のコマンドを実行して、確認しました。

sudo apt-get install valgrind 

誰かがplsすることができます。私はvalgrindを働かせる方法を案内します.... thx!

+1

は、あなたの作業ディレクトリに 'example1'という実行は間違いありませんか? –

+1

valgrindはソースではなくバイナリに対して実行されます。 example1をコンパイルしましたか? –

+2

'example'プログラムが見つからないようです。 'valgrind'と' example'の両方を実行することで確認できます:前者は害を及ぼさずに使い方を印刷します;後者はあなたのプログラムです。代わりに '。/ example'を使いたいかもしれません。 –

答えて

8

実行したいプログラムへのパスを忘れてしまった!実行ファイルのパスにexample1を置き換えます。例えば

G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind -v \ 
    --tool=memcheck --leak-check=full --num-callers=40 \ 
    --log-file=valgrind.log ./example1 
関連する問題