当前位置: 技术问答>linux和unix
如何在linux下查看动态链接库如*.so中各函数的CPU占用情况?
来源: 互联网 发布时间:2015-09-20
本文导语: gprof是linux下查看函数调用的一个不错的工具,但它有几个致命的缺点: 1、不支持多线程; 2、只能看到主程序的函数调用,动态加载库的函数调用无法捕捉。 我有一个程序,动态加载了若干个库,目前使用gprof可以...
gprof是linux下查看函数调用的一个不错的工具,但它有几个致命的缺点:
1、不支持多线程;
2、只能看到主程序的函数调用,动态加载库的函数调用无法捕捉。
我有一个程序,动态加载了若干个库,目前使用gprof可以看到主程序的函数调用情况,但无法获取各动态库中各函数调用的情况。
各位兄弟有什么好的办法吗?
1、不支持多线程;
2、只能看到主程序的函数调用,动态加载库的函数调用无法捕捉。
我有一个程序,动态加载了若干个库,目前使用gprof可以看到主程序的函数调用情况,但无法获取各动态库中各函数调用的情况。
各位兄弟有什么好的办法吗?
|
兄弟,你就不能封装一个专门测试时间的函数吗?或者是C++的类也可以阿
一个一个插入代码搞到什么时候?
一个一个插入代码搞到什么时候?
|
我的办法是,先用静态库的方法改写、编译这个工程,然后进行跟踪,分析出各个函数的效率,进行修改,得到满意的结果以后,在用动态库的方法来封装这个工程,这样最终的目标和原来测试也就差不多了:)
|
顶。
|
解决不动,
接分
接分
|
回去研究gprof一下先,我
|
你最后还是先分析一下
把你觉得有瓶颈的地方用gettimeofday
一个模块一个模块的解决
不要一开始就把所有函数都加上,信息太多,可能你都要晕了。
把你觉得有瓶颈的地方用gettimeofday
一个模块一个模块的解决
不要一开始就把所有函数都加上,信息太多,可能你都要晕了。
|
没试试把库表态加载进去,然后再监控
|
mark
|
静态编译,不要动态编译
|
用top或ps aux
|
学习