C(++)言語: valgrindの使い方

Kazuki Ohta, 2006/05/20



「Binary Hacks」

(1) Valgrindに含まれるツール

Valgrindにはいくつかのツールが同梱されている。

これらのツールは共通して"valgrind"というコマンドから以下のように使用する。(注)僕の環境ではaddrcheckは動かなかった。

valgrind --tool=memcheck ls
valgrind --tool=addrcheck ls
valgrind --tool=cachegrind ls
valgrind --tool=helgrind ls

こうする事でlsコマンド内部のメモリアクセスエラーを検出する事が出来る。defaultではmemcheckが使われるので、memcheckを使用する際には--toolを指定する必要は無い。また出力はstderrに吐かれるので、ログを残したい場合はリダイレクトするか --log-file= オプションを用いる。

libtoolを用いてビルドされたプログラムの場合には以下のようにして用いる

libtool --mode=execute valgrind hogehoge

[ return ]