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

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

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

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

  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. 然后为ddebs.ubuntu.com添加GPG密钥:

     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等工具。

我试过Colin Ian King的回答,但这对我没用。 我发现我必须在/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 

对于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 Wiki )