Linux - gdb使用自定义路径下的debuginfo文件(夹)
Posted 王万林 Ben
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux - gdb使用自定义路径下的debuginfo文件(夹)相关的知识,希望对你有一定的参考价值。
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相关文件?
思路
步骤
- 下载相关debuginfo相关包
- 传到集群的运算机
- 安装debuginfo相关包到自定义路径
- 运行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)
总结
在集群中,普通运算机为了精简,调试包等不必要的非众包,基本上不装,以保持普通运算机的高效。这个时候要看如何能够安装到非默认路径,并且指定该路径。
按照这个思路找资料,来满足用户的需求。
以上是关于Linux - gdb使用自定义路径下的debuginfo文件(夹)的主要内容,如果未能解决你的问题,请参考以下文章