3

Qt を使用して C++ で書かれた中規模のアプリケーションがあります。プロファイルを作成して、最もパフォーマンスの低いコードがどこにあるかを確認したかったので、すべてを .xml でコンパイルしました-pg

ただし、私のアプリケーションでは、QTPlugin メカニズムを使用して多くのプラグインを使用しています (プラグインごとのインスタンス オブジェクトの dlopen と dlsym に要約されます)。gprof にはプラグインの関数が含まれていないように見えます。

はい、プラグインもコンパイルされて-pgいます。すべてをプロファイリングするために何か特別なことはありますか? それとも、単純なものが欠けていますか?

4

2 に答える 2

3

使用できる場合、Valgrind のcallgrind はデバッグ シンボル (-g) だけでコードをプロファイリングできると思います。ただし、動的にリンクされたオブジェクトで機能するかどうかはわかりません。

于 2008-11-25T12:54:09.537 に答える
2

stragerが言ったように、Valgrind(ビューアとしてkcachegrindを使用したcallgrind)は良い選択です。http://oprofile.sourceforge.net/を使用して試すこともできます

于 2008-11-26T04:42:46.597 に答える