2

callgrind を使用して gcov/lcov のような出力を生成することは可能ですか? callgrind_annotate の正確なオプションが見つからないドキュメントを読んでいます

4

2 に答える 2

1

はい、できます。callgrind --collect-jumps = yesと、以下のリンクで説明されているツールを使用すると、gcovとほぼ同じ情報を取得できます。lcovほどきれいではありませんが、時間の節約はそれだけの価値があるかもしれません。

http://benjamin-meyer.blogspot.com/2007/12/valgrind-callgrind-tools-part-3-code.html

これは最適化されたバイナリでも非常にうまく機能するため、-coverageを使用して再コンパイルする必要がないため、ビルド/テストサイクルの時間を大幅に節約できます。

cg_mergeを使用してBenjaminのスクリプトを使用する前に、複数のテスト実行をマージすることもできます。

于 2012-07-18T21:51:42.867 に答える
1

不可能ですが、callgrind_annotate や kcachegrind で実装する必要があります。ただし、kcachegrind を使用すると、各関数/メソッドの呼び出しのカウントが得られます。

[ Cost/All callers ] タブの列Callsまたは [ Callers ] タブの[ Count ] が関連している必要があります。

于 2010-07-21T13:16:22.583 に答える