まずはインストール
sudo apt-get install valgrind kcachegrind
次にトレースデータを収集する.
トレースする対象は任意のバイナリでOK.
デバッグシンボルがついていれば詳細な情報が集められるけど, 無くてもよい.
valgrind --tool=callgrind hoge.out
トレースが完了すると, callgrind.out.xxxx(xxxxは割り振られた適当な番号)というトレースデータのファイルができるのでそれをkcachegrindに食わせる.
kcachegrind callgrind.out.xxxx
すると関数呼び出しの統計データやコールグラフなどがビジュアルに表示される。
これは良いですね。
ちなみに、valgrind(とkcachegrind)を使うことでキャッシュミスやメモリリークの解析などもできるできるらしい.
http://kzk9.net/column/valgrind.html