gprof一个库

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

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

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

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

提前致谢。


你可以比gprof做得更好。

您可以使用像RotateRight / Zoom这样的好采样分析器,或者您可以尝试这种技术。 另外lsstack服务良好。 pstack也是,但是对你来说更多的工作。


我有同样的问题,但我认为最好的做法是创建一个小型的C / C ++程序,该程序使用带有一些测试调用的库,使用-pg编译库并将其配置文件。 这样,你很好地将图书馆的分析问题与其他内容隔离开来。

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

链接地址: http://www.djcxy.com/p/40345.html

上一篇: gprof a library

下一篇: Using gprof with pthreads