gprof图书馆 - 问题

时间:2010-03-12 17:18:42

标签: profiling gprof

我需要在我们的系统中gprof一个库来检查函数调用,看看我们是否可以再优化它。基本上,我所拥有的是

可执行文件A使用共享库myLib.so

我想gprof myLib.so。当我使用-pg选项编译myLib.so源时,它会生成一个.so文件。

但是,针对该库重新编译可执行文件A不会因某种原因生成* .gmon文件。需要做什么?我应该静态链接myLib吗?如果是这样,请告诉我如何。我是新手,所以请原谅我的无知。我每天都在学习

提前感谢。

2 个答案:

答案 0 :(得分:1)

You can do better than gprof.

你可以使用像RotateRight/Zoom这样的优秀抽样分析器,或者你可以试试this technique lsstack 也很好用。 pstack 也有,但更适合你。

答案 1 :(得分:0)

我有同样的问题,但我认为最好的办法是创建一个小的C / C ++程序,该程序使用带有一些测试调用的库,使用-pg使用库编译它,以及配置文件。 这样你就可以很好地将库的分析问题与其他东西隔离开来。

正如http://sourceware.org/binutils/docs/gprof/Implementation.htmlhttps://stackoverflow.com/a/7290284/885650指出的那样,链接时需要-pg,因为它会在任何地方添加额外的代码。