3

我有一个使用 Qt 用 C++ 编写的中型应用程序。我想对事物进行分析以查看性能最低的代码在哪里,所以我用-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 回答