環境は CentOS Linux release 7.2.1511 (Core)
インストール
yum search valgrind
yum install valgrind.x86_64
使ってみる
valgrind --leak-check=full hogehoge piyo
hogehogeはチェックしたいプログラム
piyoはプログラムに対する引数
プログラムの終了
Ctrl+Cするか普通に終了するのを待つ
結果
Invalid read of size X
読んではいけないメモリ領域を読んだ時に出る。
メッセージ以下に出てくるのはスタックトレース?
Invalid write of size X
書き込んでは行けないメモリ領域に書き込んだ時に出る
Conditional jump or move depends on uninitialised value
未初期化の変数が条件分岐に使われている
Mismatched free() / delete / delete []
単体でnewしたのにdelete[]してる。もしくは逆
mallocしたのにdeleteしているもしくは逆
X bytes in X blocks are definitely lost in loss record
メモリ確保したのに解放してない
その他
-公式 http://valgrind.org/docs/manual/mc-manual.html
-チェック中は動作が遅くなるので注意