温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

openwrt+perf+热点函数分析的示例

发布时间:2021-12-18 11:37:13 来源:亿速云 阅读:362 作者:小新 栏目:互联网科技

小编给大家分享一下openwrt+perf+热点函数分析的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.1 背景
最近玩起了openwrt,perf工具对分析程序性能有帮助,可以分析热点函数,所以就想把它搞上系统上,折腾挺长时间的

*1.2 准备工作 *
安装vmware,安装ubuntu,把ubuntu设置成桥接(或者nat也行,配置成桥接目的是为了能让windows能通过xshell工具或者winscp工具和ubunut传输文件),并能上网,编译openwrt需要联网,编译过程中,会自动下载一些所有需要的lib,第一次编译openwrt固件需要很长时间。

*1.3 配置内核开始编译 *
make menuconfig 进入内核配置界面,“/”搜索perf工具,需要开启哪些编译选项。
openwrt+perf+热点函数分析的示例
开启perf工具需要glibc openwrt+perf+热点函数分析的示例
依次进入以下选项,进行选择
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
按下"/"搜索glic的位置在哪
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
"(x)"表示不选中,”( )“表示选中
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
openwrt+perf+热点函数分析的示例
perf工具可以选上了
openwrt+perf+热点函数分析的示例

1.4 退出,进入主界面
make V=99编译,(如果是第一次编译最好不要用多线程,第一次成功后可以make V=99 -j(n)(多线程编译)
经过漫长的编译,终于成功,第一次编译,可能要10个小时,中间出错的话,绝招是缺啥补啥,编译好的固件大小为9.8M
openwrt+perf+热点函数分析的示例

*1.5 烧写到mt7688的板子上看看效果如何 *
perf top -p 进程pid -K -g
openwrt+perf+热点函数分析的示例
看不到函数名字是因为除了应用程序要加-g 参数编译之后,像libc.so,等等库也要加-g参数编译,openwrt默认是把库strip了,自己写的程序,可以自己写makefile加-g编译,像这些libc.so这些库的话,因为openwrt编译过程,会把libc.so保留一个没有strip的,所以直接编译完固件之后
在固件源码处find xxx -iname libc.so,把没有strip的库用winwscp工具,传到mt7688的/lib/下面(记录是以覆盖的方式,不要删除libc.so,再拷贝),再次使用perf工具,就能看到libc.so的函数名了,其它库也一样。

以上是“openwrt+perf+热点函数分析的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI