アプリの動的コールグラフが必要です。 callgrind
ツール(valgrind
suite)で実行し、callgrind.out.xxxxx
ファイルを取得しました。ここで、このデータをグラフィカルに表現したいと思います。 KCacheGrind
は、グラフの限られた部分を描画するため、あまり役に立ちません(プロファイルされた〜1500の代わりに〜50の関数を描画し、それを修正する方法がわかりません)。すべての関数が描画されるグラフ画像を取得するにはどうすればよいですか?
わかりました、私は道を見つけました。 gprof2dot を使用してdot
ファイルに変換できる生成されたcallgrind.out
ファイル(はい、このツールはcallgrind
ファイルも解析できます)。そして、dot -T<type> dotfile.dot -o graphfile.<type>
を使用してグラフ画像を取得できます
次のコマンドを使用して、gprof2dotを使用してgraph.pngを生成します
$ ./gprof2dot.py --format=callgrind --output=out.dot /path/to/callgrind.out
$ dot -Tpng out.dot -o graph.png