腾讯云GDB调试安装debuginfo-install

  1. 自己的服务器是腾讯云centos7.0 64位系统,前两天想在上面调试下程序 使用gdb 提示如下
    腾讯云GDB调试安装debuginfo-install_第1张图片
  2. 应该是缺少一些符号信息,需要先安装debuginfo。按照提示使用如下命令
    debuginfo-install glibc-2.17-106.el7_2.4.x86_64 libgcc-4.8.5-11.el7.x86_64 libstdc++-4.8.5-11.el7.x86_64
    又提示如下
    腾讯云GDB调试安装debuginfo-install_第2张图片
  3. 网上搜索相关信息,一般都说需要把/etc/yum.repos.d/CentOS-Debuginfo.repo 文件中的[debug]一栏中的enable设置为1,但是腾讯云的系统上,没有这个文件,悲剧!
    试了下新建这个文件,发现可行。文件一定要放在/etc/yum.repos.d/目录下,文件内容可以在网上查到。我新建的文件内容如下
    腾讯云GDB调试安装debuginfo-install_第3张图片
    注意enabled=1
  4. 再次使用命令
    debuginfo-install glibc-2.17-106.el7_2.4.x86_64 libgcc-4.8.5-11.el7.x86_64 libstdc++-4.8.5-11.el7.x86_64
    这时候又提示没有相关key文件 注意CentOS-Debuginfo.repo文件中的 key一项
    gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-debug-7
    没有key文件 就新建一个 直接使用非debug的内容 拷贝同目录下的文件
    cp rpm-gpg-key-centos-7 rpm-gpg-key-centos-debug-7
    再次使用 debuginfo-install命令,这时候又会提示key不对

  5. 这时候有两个方法
    1是使用命令 更新key文件 使key正确

yum makecache
yum update

  2是 不检测签名 修改CentOS-Debuginfo.repo文件内容

gpgcheck=0  # 不检测签名,
enabled=1    # 支持yum源

上面任选一种,然后再来搞定
debuginfo-install glibc-2.17-106.el7_2.4.x86_64 libgcc-4.8.5-11.el7.x86_64 libstdc++-4.8.5-11.el7.x86_64

最好使用第二种方法(我刚开始不知道第二种方法用的第一种o(╥﹏╥)o),yum update是万恶之源!!!
如果使用第一种方法,要注意更新完成后,使用上面的debuginfo-install命令会提示相关包不在,因为我们的glibc版本变了,只需要重新编译下自己的程序,再debug下使用新提示命令即可。

还有一种rpm安装方法可以参考

总结起来最简单的方法就是新建CentOS-Debuginfo.repo文件 不检测签名,支持yum源,直接使用debuginfo-install命令,一键搞定。

你可能感兴趣的:(linux系统)