Linux - gdb使用自定义路径下的debuginfo文件(夹)

54 篇文章 22 订阅
23 篇文章 1 订阅

Linux - gdb使用自定义路径下的debuginfo文件(夹)

问题

IC集群环境,通常用于跑IC业务,不用作普通的程序开发与调试。用于调试的包不是必备的包,出于精简的目的没有被(root)安装上,因此大部分程序开发的调试工作在普通运算机上无法完成。

gdb在无相关debuginfo包时的报错

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.47.el6.x86_64 libaio-0.3.107-10.el6.x86_64 libgcc-4.4.6-3.el6.x86_64 libstdc++-4.4.6-3.el6.x86_64 libuuid-2.17.2-12.4.el6.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64

普通用户在没有root的情况下,如何使用debuginfo相关文件?

思路

步骤

  1. 下载相关debuginfo相关包
  2. 传到集群的运算机
  3. 安装debuginfo相关包到自定义路径
  4. 运行gdb并制定自定义路径下的debuginfo包

下载

使用联网的、与运算机相同OS版本的服务器,配置好debuginfo yum repo,然后执行

debuginfo-install --downloadonly --downloaddir=/path/to/tmp/seperate_debuginfo_dir <package>

将需要的包以及其依赖包下载下来。

安装

根据这里介绍,安装有两种方式,

  • 一种是rpm -i --prefix=/path/to/seperate_debuginfo_dir <all_rpm_packages>。由于有些rpm包是不可安装到指定目录下的,本方法不适用本需求;
  • 一种是使用rpm2cpio与cpio -id命令将所有rpm包解压出来,并放到/path/to/seperate_debuginfo_dir下。

使用

启动gdb后,按照官网介绍,设置变量后即可,如下所示

$ gdb
(gdb) set debug-file-directory /path/to/seperate_debuginfo_dir
(gdb)

总结

在集群中,普通运算机为了精简,调试包等不必要的非众包,基本上不装,以保持普通运算机的高效。这个时候要看如何能够安装到非默认路径,并且指定该路径。
按照这个思路找资料,来满足用户的需求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王万林 Ben

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值