2009-07-31 8 views
4

gprofを使用してC++で単一の関数をラインプロファイルすることはできますか?以下のようなgprofでのプロファイルの単一機能

何か:

gprof -l -F function_name ... 

、動作するようには思えません。

答えて

2

これは簡単にvalgrindで行うことができます。開発環境で使用するチャンスがあれば素晴らしいツールです。グラフィカルインタフェースkcachegrindもあります。

1

[symspec]というオプションを使用して結果をフィルタリングしてみてください。 gprof 2.18.0では、-F-fは廃止され、代わりにsymspecを使用しています。

また、新しいバージョンのgccでコンパイルされたバイナリでは、-lが動作しない可能性があります。代わりにgcovを試してください。

+0

私はLinux上でicc(icpc)すなわちインテルコンパイラを使用していますが、gcovで作業することはできません!私はsymspecをチェックアウトします。ありがとう。 –

1

パフォーマンスの問題が疑われますか?もしそれがどこにあるのかの先入観があれば、そこにはない可能性があります。実際にパフォーマンスの問題を見つけたい場合は、まずmyths perpetuated by gprofを超えて調べる必要があります。

+0

死んだリンク; Googleを介してこのトピックを見つけることができません – Nate

+0

@ネイト:私はちょうどリンクを更新しました。一部の「賢明な人」は、「建設的ではない」と考えていた。 –

関連する問題