当前位置:  开发笔记 > 运维 > 正文

在Linux上的gdb中加载核心文件时,如何在库路径前添加目录

如何解决《在Linux上的gdb中加载核心文件时,如何在库路径前添加目录》经验,为你挑选了1个好方法。

我在远程系统上生成了一个我无法直接访问的核心文件.我还有来自远程系统的库文件的本地副本,以及崩溃程序的可执行文件.

我想在gdb中分析这个核心转储.

例如:

gdb path/to/executable path/to/corefile

我的库位于当前目录中.

在过去,我见过调试器通过提供选项"-p"来实现它.或"-p/=."; 所以我的问题是:

在分析gdb中的核心文件时,如何指定首先从相对于当前目录的路径加载库?



1> Drew Frezell..:

在不指定可执行文件或核心文件的情况下启动gdb,然后键入以下命令:

set solib-absolute-prefix ./usr
file path/to/executable
core-file path/to/corefile

您需要确保完全从目标系统镜像库路径.以上内容适用于调试与主机不匹配的目标,这就是复制包含库的根文件系统结构的重要原因.

如果您正在远程调试与主机相同的架构和Linux/glibc版本的服务器,那么您可以按照fd建议执行:

set solib-search-path 

如果您尝试覆盖某些库,但不是全部,那么您可以将目标库目录结构复制到临时位置并使用上述solib-absolute-prefix解决方案.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有