Ubuntu中的软件包将其调试符号存储在单独的存储库中。要下载这些调试符号,请运行(复制并粘贴):
printf "deb http://ddebs.ubuntu.com %s main restricted universe multiverse\n" $(lsb_release -cs){,-updates,-security,-proposed} | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
将回购链接添加到/etc/apt/sources.list.d/ddebs.list
(这样可以更轻松地删除回购)。另外,您也可以将每个deb
链接复制到“软件源”中,然后从那里添加它们(注意,您可能需要替换$(lsb_release -cs)
为正在运行的Ubuntu版本)。
要下载的调试符号package
,您可以直接安装package-dbgsym
,有时也可以安装package-dbg
。请注意,PPA中的软件包没有可从回购中获得的调试符号,维护人员有责任提供包含调试符号的软件包,通常是在名为的软件包中package-dbg
。
调试符号已安装在中/usr/lib/debug
,但会gdb
自动读取调试符号(如果可用),并且您无需手动指定要查找的位置。根据软件包的Debhelper兼容性版本,调试符号可能位于以下位置的文件夹中:位于.build-id
(>= 9
)内部或可能相对于可执行文件的安装位置(< 9
)的内部版本ID的名称。例如,如果您正在寻找的调试符号的位置/usr/bin/zip
,并且版本小于9,则它将位于中/usr/lib/debug/usr/bin/zip
。
要删除所有调试符号和存储库,请运行sudo apt-get remove \.*-dbgsym
以删除所有-dbgsym
软件包,并sudo rm /etc/apt/sources.list.d/ddebs.list
删除调试符号存储库。