Debian/Ubuntu 安装和使用 perf 调试工具

news/2024/12/4 23:43:51/

为操作系统安装基本依赖环境:

apt-get update -y
apt-get upgrade -y
apt-get install lrzsz zip unzip libkrb5-dev libicu-dev screen iftop openssl libssl-dev libunwind8 iftop net-tools gcc gdb cmake curl wget -y
apt-get install gcc gdb cmake python-dev g++ -y ##:clang
apt-get install python3-dev -y ## yum install python-devel

如果 Ubuntu 安装GDB调试器失败,可以参考下述类似命名安装解决

wget http://kr.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace1_1.3.2-1_amd64.deb
wget http://kr.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace-ctf1_1.3.2-1_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.11.1-0ubuntu1~16.5_amd64.deb
dpkg -i libbabeltrace1_1.3.2-1_amd64.deb
dpkg -i libbabeltrace-ctf1_1.3.2-1_amd64.deb
dpkg -i gdb_7.11.1-0ubuntu1~16.5_amd64.deb
apt-get install gdb -yapt-get install libssl1.1=1.1.1-1ubuntu2.1~18.04.17 -y
apt-get install krb5-multidev=1.16-2ubuntu0.2 libicu60=60.2-3ubuntu3.2 -y

为 Debain 操作系统安装 perf 调试工具

apt-get install linux-perf

为 Ubuntu 操作系统安装 perf 调试工具

apt-get install linux-tools-common linux-tools-generic linux-cloud-tools-generic linux-tools-`uname -r`

检查已安装好的 perf 调试工具是否能用?

如果执行命令以后出现下述错误,但您的系统内核并非该版本。

root@debian:~# perf
/usr/bin/perf: line 13: exec: perf_6.1: not found
E: linux-perf-6.1 is not installed.

那么查看 /usr/bin/perf 是否有您内核版本的 perf 调试工具。

root@debian:~# /usr/bin/perf
perf       perf_5.10  

如果你执行 uname -r 命令获取出来的版本号是大于 perf 调试工具自身版本时。

root@debian:~# uname -r 
6.1.6

那么如何确定,应当使用那个版本的 perf 调试工具呢?

root@debian:~# apt-get install linux-perf
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
linux-perf is already the newest version (5.10.162-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

重新尝试 apt-get install linux-perf 命令,安装结果会告诉人们应当使用那个版本的 perf 工具,根据上面的提示,我们使用 perf_5.10。

root@debian:~# perf_5.10 -v
perf version 5.10.162

大功告成,如果上述没有可以让你的PC安装上可用版本 perf 的办法,那么你可以手动拿着 perf 的代码手动编译来获取适用于,当前系统内核版本的 perf 工具。


http://www.ppmy.cn/news/26234.html

相关文章

算法笔记(九)—— 暴力递归

暴力递归(尝试) 1. 将问题转化为规模缩小了的同类问题子问题 2. 有明确的不需要的继续递归的条件 3. 有当得到子问题结果之后的决策过程 4. 不记录每一个子问题的解 Question:经典汉诺塔问题 1. 理解清楚,基础三个圆盘的移动…

产品经理知识体系:5.如何做好产品数据分析?

数据分析 思考 笔记 数据分析 思路 基于用户路径:用户的活动路径,操作流程等行为数据。 基于产品节点:转化率、占比 分析类型 先定性:先抛出问题、提出假设 再定量:数据验证问题、验证假设 先定性、再定量、最后得…

linux xargs 删除名字中包含某字符串的文件

xargs的作用 格式化输出 可以把多行文本变成一行,或者指定行数和列数。每一列用空格作分隔符号。 test.txt中的内容 例子1: 用xargs格式化输出后,多行变成了一行,而且多个空格变成了一个空格。 cat test|xargs例子2: 当然也可…

「可信计算」助力TLS 传输更安全

序言背景(Satuation):TLS 是 TCP/IP 上的传输层安全协议,保护着数以亿万级的数据安全,我们在浏览器中输入的 https,就是受到 TLS 保护的。冲突(complication):从可信计算…

并查集(高级数据结构)-蓝桥杯

一、并查集并查集(Disioint Set):一种非常精巧而实用的数据结构用于处理不相交集合的合并问题。用于处理不相交集合的合并问题。经典应用:连通子图。最小生成树Kruskal算法。最近公共祖先。二、应用场景有n个人,他们属于不同的帮派。 已知这些…

sql语句 两值对比返回true 或者false 关于程序的题目

解法一: create table DemoTable (FirstName varchar(100),LastName varchar(100) );insert into DemoTable values(Chris,Brown);insert into DemoTable values(David,Miller);insert into DemoTable values(Adam,Smith); 查询判断返回相关内容 select if(LastName=Miller…

超详细讲解文件函数

超详细讲解文件函数!!!!字符输入/输出函数fgetcfputc文本行输入/输出函数fgetsfputs格式化输入/输出函数fscanffprintf二进制输入/输出函数freadfwrite打开/关闭文件函数fopenfclose字符输入/输出函数 fgetc fgetc函数可以从指定…

软考高级信息系统项目管理师系列之二十五:项目合同管理

软考高级信息系统项目管理师系列之二十五:项目合同管理 一、项目合同管理内容整理一、合同管理基本概念1.项目合同管理定义2.合同的分类3.合同类型选择4.合同内容二、合同管理过程1.合同管理过程的内容2.合同签订和履行管理3.合同变更和档案管理4.合同违约索赔管理项目合同管理…