Linuxでのメモリーエラー検出

最近久しくC/C++のプログラムを書いていない。その間にというわけでもないが、Linux上でC/C++プログラムのメモリーエラーを検査するフリーのツールがいくつか提供されていた。Red Hatのサイトに詳しいことが書かれていた。
その一つはvalgrindというもの。コンパイルされたプログラムを引数として与えて実行するとメモリー確保に関するエラーなどをチェックして報告してくれる。自作のBEPのためのスピーチサーバをvalgrindにかけてみると、なにやらいっぱいリークしているらしい。ひええ。BEPは当初落ちまくってエラー探しで困ったけど、こういうお手軽なツールがあれば。ちなみに実行は50倍遅くなると書かれている通り、一つのコマンドを発行して音声がでるまでに数秒のオーダーで時間がかかっている。
同様のものにPurifyがあるが、使いやすさはともかく個人では手が出ないので、valgrindは代替手段としていいかもしれない。
もう一つはGCC 4のmudflapという機能。
gcc program.c -g -fmudflap -lmudflap
のように使う。隣り合った別の配列に書き込んでいるような場合にもエラーを表示してくれるらしい。
さて、調べてみないとね。