gpt4 book ai didi

gdb - 使 gdb 从特定路径加载共享库

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:10 27 4
gpt4 key购买 nike

我在执行应用程序时获得了一个核心,我保存了可执行文件、核心文件和应用程序在 /tmp 中使用的共享库,以便稍后检查它们。然后我修改了库,重建它并再次启动可执行文件。现在,当我尝试调试核心时,gdb 正在从其原始路径而不是从我保存原始库的目录 /tmp 加载共享库。

比如原来的路径是/opt/mydir/lib/libmylib.so.0。gdb 正在加载此共享库,而我希望它加载 /tmp/libmylib.so.0。该应用程序还使用了一些位于 /usr/lib/lib 目录中的标准库,因此我不希望更改这些路径。只想更改 /opt/mydir/lib/ -> /tmp。我该怎么做?

最佳答案

最简单的解决方案是暂时将 /opt/mydir/lib/libmylib.so.0 恢复到崩溃时使用的副本(即现在的那个在 /tmp) 中,分析核心,然后恢复新版本。

如果您不想这样做,set solib-search-pathset sysrootyour friends .

请注意,您必须在加载核心 之前设置两者。这个顺序应该有效:

(gdb) set sysroot /no/such/file
(gdb) set solib-search-path /tmp:/usr/lib:/lib
(gdb) core /tmp/core

关于gdb - 使 gdb 从特定路径加载共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41727100/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com