问题描述
默认的 Ubuntu 内核 -generic
包中似乎没有符号。
我试图避免手动编译带有调试信息的内核。
Ubuntu 是否提供带有内核调试符号的软件包?
最佳回答
-
首先使用以下命令创建
ddebs.list
:\n
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list\n
-
然后添加
ddebs.ubuntu.com
的 GPG 密钥:\n
wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -\n
-
然后运行:
\n
sudo apt-get update\n
-
然后使用以下命令安装符号包:
\n
sudo apt-get install linux-image-`uname -r`-dbgsym\n
\n
这个文件相当大(>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
第三种回答
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 )