make gdb从特定路径

时间:2015-11-24 06:33:21

标签: gdb shared-libraries

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

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

1 个答案:

答案 0 :(得分:3)

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

如果您不想这样做,/tmpset solib-search-pathyour friends

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

core