web-dev-qa-db-ja.com

コールグラインドデータの解釈

アプリの動的コールグラフが必要です。 callgrindツール(valgrind suite)で実行し、callgrind.out.xxxxxファイルを取得しました。ここで、このデータをグラフィカルに表現したいと思います。 KCacheGrindは、グラフの限られた部分を描画するため、あまり役に立ちません(プロファイルされた〜1500の代わりに〜50の関数を描画し、それを修正する方法がわかりません)。すべての関数が描画されるグラフ画像を取得するにはどうすればよいですか?

22
maverik

わかりました、私は道を見つけました。 gprof2dot を使用してdotファイルに変換できる生成されたcallgrind.outファイル(はい、このツールはcallgrindファイルも解析できます)。そして、dot -T<type> dotfile.dot -o graphfile.<type>を使用してグラフ画像を取得できます

30
maverik

次のコマンドを使用して、gprof2dotを使用してgraph.pngを生成します

$ ./gprof2dot.py --format=callgrind --output=out.dot /path/to/callgrind.out
$ dot -Tpng out.dot -o graph.png
29
samaitra