在网上找了很多linux crash 调试工具安装的相关文章都没有成功,最后断断续续花时间去搭建这个环境,做个笔记,顺便分享下,本文记录的是ubuntu 18.04.4 LTS (Bionic Beaver) ,内核版本为5.4.0-42-generic
curits@curits-virtual-machine:~/Desktop/crash-master$ uname -r
5.4.0-42-generic
curits@curits-virtual-machine:~/Desktop/crash-master$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
0x01:首先安装需要调试系统。
0x02:要进行crash调试,需要安装带有调试信息的内核,这个在官网都可以下载到的,这里附上此版本dbgsym包的下载路径
https://launchpad.net/ubuntu/bionic/amd64/linux-image-unsigned-5.4.0-42-generic-dbgsym/5.4.0-42.46~18.04.1
Ubuntu dbgsym下载方法
# 具体codename是bionic还是focal可以通过以下命令查看
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
# ubuntu 1804
https://launchpad.net/ubuntu/bionic
#ubuntu 2004
https://launchpad.net/ubuntu/focal
#ubuntu 2204
https://launchpad.net/ubuntu/jammy
附:针对不同的系统内核调试安装包的形式是不一样的,ubuntu为发布的ddeb包,centos为debuginfo包
Ubuntu dbg包样例:
linux-image-unsigned-5.4.0-42-generic-dbgsym_5.4.0-42.46_18.04.1_amd64.ddeb
linux-image-unsigned-5.15.0-101-generic-dbgsym_5.15.0-101.111_amd64.ddeb
Centos dbg下载方法
kernel-debuginfo-common-x86_64-3.10.0-693.el7.x86_64.rpm
kernel-debuginfo-3.10.0-693.el7.x86_64.rpm
下载地址:
-
服务器下载
http://ddebs.ubuntu.com/pool/main/l/linux/ -
官网搜索
http://debuginfo.centos.org/7/x86_64/ -
阿里云下载,下载速度还可以
https://mirrors.aliyun.com/centos-debuginfo/
可能有些内核版本在官网找不到,但是还有一些其他网点可以下载到(亲测其他网站下载更快)

vmlinux路径为:
-
centos
/usr/lib/debug/lib/modules/3.10.0-693.el7.x86_64/vmlinux -
ubuntu
/usr/lib/debug/boot
0x03:虽然有些系统有自带的crash,但是这个系统默认是没有自带的crash工具,直接从github上下载最新的源码进行编译得到crash二进制文件(我是在物理编译出来的,因为虚拟机里编译太慢了,直接把编译的crash-master拷贝到此系统)
github地址:
https://gi

本文详细介绍了在Ubuntu 18.04 LTS环境下搭建Linux crash调试环境的过程,包括内核调试信息包(dbgsym)的下载与安装、crash工具的编译与使用,以及如何解决内核源码定位问题。
1537

被折叠的 条评论
为什么被折叠?



