的在ubuntu上linux的调试信息事linux-image-xxx-dbgsym,类似centos的kernel-debuginfo-xxx.rpm
可以用来调试linux内核的。
安装方式是:
sudo apt-get install linux-image-$(uname -r)-dbgsym
安装报错:Unable to locate package linux-image-4.15.0-163-generic-dbg
$sudo apt-get install linux-image-$(uname -r)-dbgsym [0]
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-4.15.0-163-generic-dbgsym
E: Couldn't find any package by glob 'linux-image-4.15.0-163-generic-dbgsym'
E: Couldn't find any package by regex 'linux-image-4.15.0-163-generic-dbgsym'
错误原因:
没有对应的安装包管理源
解决办法:添加对应源
解决步骤:
第一步:找管理源
按照参考文献1 添加ubuntu的两个源到 /etc/apt/sources.list 结果还是不生效。估计是网络不可达的问题。
最后查找到ubuntu官网上说明关于如何处理Debug Symbol Packages的说明,找到了解决办法添加正确的管理源:
直接拷贝有行号,参考下面的:
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
所以应该是需要用ddebs的方式,具体以后有机缘再研究。
将管理源更新到/etc/apt/sources.list.d/ddebs.list
执行效果:
第二步: 更新软件包列表
sudo apt-get update
图中错误不用关注 ,是使用文献1添加的地址不可达造成的。
第三步:更新包
sudo apt-get install linux-image-$(uname -r)-dbgsym
最后查看vmlinux路径,处于 /usr/lib/debug对的
$sudo updatedb [1]
$locate vmlinux [0]
/usr/lib/debug/boot/vmlinux-4.15.0-163-generic
说明:kernel-debuginfo会在 /usr/lib/debug目录创建vmlinux和编译时候的源码:lib/modules/4.15.0-163-generic/kernel/
参考文献:
ubuntu安装kernel-debuginfo_linux大本营_InfoQ写作社区 该文档更新包不可用但是步骤可以