如何安装包含 Ubuntu 内核调试符号的包?

如何安装包含 Ubuntu 内核调试符号的包?

默认的 Ubuntu 内核-generic包中似乎没有符号。

我试图避免手动编译带有调试信息的内核。

Ubuntu 是否提供带有内核调试符号的软件包?

答案1

  1. 首先创建一个ddebs.list使用:

    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list
    
  2. 然后添加 GPG 密钥ddebs.ubuntu.com

    wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
    
  3. 然后运行:

    sudo apt-get update
    
  4. 然后使用以下命令安装符号包:

    sudo apt-get install linux-image-`uname -r`-dbgsym
    

    这个文件相当大(>680MB),所以下载时请做好等待的准备。

我使用 Linux 内核调试符号作为systemtap内核上的工具。

答案2

我试过科林·伊恩·金的答案,但对我来说不起作用。我发现我必须在/etc/apt/sources.list.d/ddebs.list

通过编辑文件

sudo nano /etc/apt/sources.list.d/ddebs.list

并添加以下两行

deb http://ddebs.ubuntu.com trusty-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com trusty-proposed main restricted universe multiverse

替换trusty为您执行时获得的版本

lsb_release -cs

答案3

对于 16.04+

GPG 密钥导入

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622 

添加存储库配置

codename=$(lsb_release -c | awk  '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOF

sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

(归功于Ubuntu 维基

相关内容