使用gdb调试时出现:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6.i686的解决办法

        今天在redhat6.3(32位)下使用gdb调试程序的时候,出现一段警告,在此总结出解决办法,方便后来的学者:

提示需要使用debuginfo安装glibc-2.12-1.212.el6.i686,但是这里有个问题:linux系统下有debuginfo吗?

我使用的是redhat6.3,用的是centos6的yum,是没有debuginfo的,不信的话,我们试验一下:

直接使用命令:debuginfo-install glibc-2.12-1.212.el6.i686 进行安装

出现:command not found  说明的确是没有debuginfo,那接下来问题变成如何安装debuginfo。

首先需要下载两个文件:

kernel-debuginfo-common-xxxxx

kernel-debuginfo-xxxx 

用命令 :uname –r  查询linux的版本号

我的版本号为2.6.32-431.el6.i686,在开源镜像站查找以下两个文件:

kernel-debuginfo-common-2.6.32-431.el6.i686

kernel-debuginfo-2.6.32-431.el6.i686

去http://debuginfo.centos.org寻找和你内核完全匹配的rpm包。

然后安装两个包,首先安装kernel-debuginfo-common-2.6.32-431.el6.i686,然后安装kernel-debuginfo-2.6.32-431.el6.i686

使用命令:rpm -ivh kernel-debuginfo-common-2.6.32-431.el6.i686

                    rpm -vh kernel-debuginfo-2.6.32-431.el6.i686

安装完后更改配置文件CentOS-Base-debuginfo.repo。

发现该本机没有该配置文件,装完debuginfo后也没有出现诸如CentOS-Base-debuginfo.repo的文件,很明显,redhat不可能安装CentOS的配置文件,这里我们需要手动添加。

命令:vim /etc/yum.repos.d/CentOS-Base-debuginfo.repo

然后写入:

[base-debuginfo]
name=CentOS-$releasever - DebugInfo 
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
gpgcheck=0
enabled=1
protect=1
priority=1

注意,enabled=1,写到这里如果去执行debuginfo-install glibc,则会报出url错误!

如此,想起在配置CentOS的yum源时大家应该注意到将$releasever改成系统大版本号,所以(复制粘贴即可)

[base-debuginfo]
name=CentOS-6 - DebugInfo
baseurl=http://debuginfo.centos.org/6/$basearch/
gpgcheck=0
enabled=1
protect=1
priority=1

保存退出后执行 debuginfo-install glibc-2.12-1.212.el6.i686  发现问题:

这里提示CentOS-Base-debuginfo.repo文件第一行有错误,然后我又打开看看,发现第一行写错了,掉了 [ 这个符号,加上之后就ok了。

然后就是使用debuginfo安装glibc-2.12-1.212.el6.i686了。

最后使用gdb调试代码,完美解决。

 

 

参考链接:https://jingyan.baidu.com/article/37bce2be1839ca1003f3a253.html

                    http://blog.51cto.com/lddyw/1618505 

                    https://blog.csdn.net/testcs_dn/article/details/19565411

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值