ubuntu下载debuginfo deb进行调试
工作环境正式切换到ubuntu下,之前使用SLES进行开发和服务器版本,如此可以直接下载debuginfo的rpm(比如glibc debuginfo)进行调试,suse都是有对应链接提供好的,但当前切换的ubuntu下就找不到哪里有debug版本的deb下载,网上各种介绍手工编译,一个包还好,多个包就太麻烦了,正要感慨ubuntu不适合进行服务器开发,却搜索到对应的官方地址,还是从谷歌快照里面看到的信息。
1,执行如下命令,添加debuginfo包,并更新软件源
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/debuginfo_debs.list echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/debuginfo_debs.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 sudo apt-get update
2.查询被调试的命令归属于那个deb包, 以qemu-system-x86_64为例
[email protected] /tmp $ dpkg -S <code>which qemu-system-x86_64</code> qemu-system-x86: /usr/bin/qemu-system-x86_64
3.刷新apt-cache,下载针对版本
[email protected] /tmp $ apt-cache policy qemu-system-x86 qemu-system-x86: 已安装: 2.0.0+dfsg-2ubuntu1.9 候选软件包:2.0.0+dfsg-2ubuntu1.9 版本列表: *** 2.0.0+dfsg-2ubuntu1.9 0 500 http://mirrors.ustc.edu.cn/ubuntu/ trusty-updates/main amd64 Packages 500 http://mirrors.ustc.edu.cn/ubuntu/ trusty-security/main amd64 Packages 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages 100 /var/lib/dpkg/status 2.0.0~rc1+dfsg-0ubuntu3 0 500 http://mirrors.ustc.edu.cn/ubuntu/ trusty/main amd64 Packages [email protected] /tmp $ sudo apt-get install qemu-system-x86-dbgsym:2.0.0+dfsg-2ubuntu1.9
如此对应的调试包就已经安装好了,直接调用gdb命令进行正常调试即可。
补充:转fedora去了...
ubuntu下载debuginfo deb进行调试来自于OenHan
链接为:https://oenhan.com/ubuntu-debuginfo-package
# apt-cache policy bash
bash:
Installed: 4.4.18-2ubuntu1
Candidate: 4.4.18-2ubuntu1
Version table:
*** 4.4.18-2ubuntu1 500
500 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
root@abbott-VirtualBox:/sys/kernel/debug/tracing# apt-get install bash-dbgsym:4.4.18-2ubuntu1
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package bash-dbgsym:4.4.18-2ubuntu1
为什么按你的方法,无法给bash安装调试信息?