首页 / 知识
在Linux上的gdb中加载核心文件时,如何在目录前添加库路径
2023-04-16 15:41:00

How do I prepend a directory the library path when loading a core file in gdb on Linux我有一个无法直接访问的在远程系统上生成的核心文件。 我也有远程系统中库文件的本地副本,以及崩溃程序的可执行文件。 我想在gdb中分析此核心转储。 例如:
我的库在当前目录中。 在过去,我看到调试器通过提供选项" -p"来实现此目的。 或" -p / ="。 所以我的问题是: 分析gdb中的corefile时,如何指定首先从相对于当前目录的路径加载库? 在不指定可执行文件或核心文件的情况下启动gdb,然后键入以下命令:
您将需要确保完全从目标系统镜像您的库路径。上面的内容是用于调试与主机不匹配的目标的,这就是为什么复制包含库的根文件系统结构很重要的原因。 如果要远程调试与主机相同的体系结构和Linux / glibc版本的服务器,则可以按照fd的建议进行操作:
如果要覆盖某些库,但不是全部,则可以将目标库目录结构复制到一个临时位置,然后使用上述的 我不确定这在gdb中是否可以实现,但是我不是专家。 但是我可以评论Linux动态链接器。以下应打印所有已解析共享库和未解析共享库的路径。
我们需要知道您的共享库如何与可执行文件链接。为此,请使用以下命令:
有关更多信息,您可以从以下内容开始:
我在developer.apple.com上找到了此摘录
编辑: 我不认为使用上面的设置来添加我添加的目录,但似乎确实要添加它们,因此,我当前系统中缺少的文件会在我添加的路径中获取。我猜将solib-absolute-prefix设置为伪造的,并按我需要的顺序在solib-search-path中添加目录可能是一个完整的解决方案。 您也可以在调用gdb时将LD_PRELOAD设置为每个库,或者将LD_LIBRARY_PATH设置为当前目录。如果gdb本身尝试使用您正在预加载的任何库,这只会导致问题。 重要说明:
如果您正在执行交叉编译并尝试使用gdb进行调试,则
然后检查目标系统是否具有libthread_db。我在网上发现了很多类似的问题。仅使用" set solib-"无法解决该问题,还必须使用交叉编译器来构建libthread_db。 |
最新内容
相关内容
linux关闭系统的命令?
linux关闭系统的命令?,系统,工作,命令,时间,用户,指令,通知,目的,终端,表示,详解Linux系统中关机与重启相关命令的用法打开这里的LINUX,UBUNTU更新文件命令linux?
更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux系统nl命令?
linux系统nl命令?,系统,工作,命令,信息,文件,标准,工具,单位,公式,内容,nl是什么意思?女生说nl的意思是:常规的恋爱。“nl”是“NormalLove”的linux基础命令增加文件?
linux基础命令增加文件?,系统,时间,名字,文件,基础,数据,命令,名称,首次,密码,linux命令如何新建一个文件终端下键入:touch加文件名,这样就创建linux文件全选命令?
linux文件全选命令?,电脑,系统,环境,代码,平台,服务,快捷键,文件,命令,权限,linux不小心文件全选点了打开,怎么全部取消打开文件你如果没有修linux浏览文件类命令?
linux浏览文件类命令?,系统,信息,数据,情况,命令,标准,时间,文件,概念,管理,在Linux系统中,执行什么命令查看文件或目录的权限?1、linux查看文linux重名名文件命令?
linux重名名文件命令?,图片,名称,名字,文件,命令,位置,代码,软件,系统,文件名,linux文件重命名命令mv较简单的处理命令:mvmv原文件名新文件名如linux系统命令vim?
linux系统命令vim?,系统,工作,发行,模式,连续,工具,官方网站,状态,环境,时间,linux中在vim编辑器中使用date命令1、vim显示历史命令,先按q,再按:qlinux系统常用命令表?
linux系统常用命令表?,系统,基础,工作,工具,管理,网络,命令,数据,标准,地址,linux常用的20个命令?1、系统管理相关命令:df、top、free、quota、linux将文件备份命令?
linux将文件备份命令?,系统,密码,设备,软件,通讯,较大,认证,服务,数据,文件,Linux下数据备份命令scp、rsync和后台运行1、scp 是secure copy的linux扩展文件命令?
linux扩展文件命令?,工作,地址,系统,信息,命令,目录,管理,情况,文件,标准,Linux文件系统操作命令1、(1)根据文件名查找例如,我们想要查找一个文linux命令行加载中文?
linux命令行加载中文?,名称,系统,不了,传播,网上,状态,管理,中文,终端,命令,Linux的终端命令行模式下如何显示中文?解决方法其实很简单的,即把x