工作环境正式切换到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为例

oenhan@oenhan.com /tmp $ dpkg -S <code>which qemu-system-x86_64</code>
qemu-system-x86: /usr/bin/qemu-system-x86_64

3.刷新apt-cache,下载针对版本

oenhan@oenhan.com /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

oenhan@oenhan.com /tmp $ sudo apt-get install qemu-system-x86-dbgsym:2.0.0+dfsg-2ubuntu1.9

如此对应的调试包就已经安装好了,直接调用gdb命令进行正常调试即可。

补充:转fedora去了...


ubuntu下载debuginfo deb进行调试来自于OenHan

链接为:http://oenhan.com/ubuntu-debuginfo-package

1 thought on “ubuntu下载debuginfo deb进行调试”

  1. # 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安装调试信息?

发表回复