2021.2.5补充:
当可以使用perf但是不能通过perf record -g ./名称
+perf report
显示函数名的时候,直接安装以下依赖:(其中包括了解决函数名的工具以及提供了别的一系列工具)
sudo apt-get install elfutils-devel libdw-dev systemtap-sdt-devel systemtap-sdt-dev libaudit-dev libssl-dev libslang2-dev libgtk2.0-dev libperl-dev libperl-dev libiberty-dev
我perf用apt会显示
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 perf
所以我安装的方法是使用如下方式
https://blog.csdn.net/tang05505622334/article/details/103057179
在使用perf的时候出现只有函数地址而没有函数名称的情况
这是因为perf组件没有安装完全的原因,其中的debug的组件没有安装,此时
cd /usr/src/linux-source-5.4.0/tools/perf
make
可以得到如下类似内容:
该图显示了那些功能还没开启,同时会报错,通过apt install可以安装这些组件
其中详细说明了哪些组件的未安装影响到了什么功能的使用,例如某debug组件(忘记了叫什么,上图没有显示),总之报错内容是因为没有安装某debug,是影响了record功能的使用
安装某些组件之后,再进行make,会发现上图的某些OFF变为了ON,如果是通过
sudo apt-get install linux-source
cd /usr/src/linux-source-4.4.0/tools/perf
make
make install
sudo cp ./perf /usr/bin/perf
安装的话,那么记得在make intall后把perf执行文件cp到/usr/bin/,然后运行perf就大功告成