2012-08-28 27 views
2

当我在一个coredump上使用gdb时,它会报告一些.so文件,它在某个路径中找不到。例如:gdb中的命令与dbx中的路径映射相同吗?

符号文件未找到/root/a/xx.so

我没有管理员权限创建在根目录,但我确实有xx.so,在dbx中,我可以使用路径映射更改可以继续调试的路径。但在gdb中我找不到相同的命令。

另外,我没有权利更改编译器命令。也就是说,我无法更改链接器路径来重新编译。

+0

是否有可能创建核心的计算机上运行GDB? –

+0

不,它来自一个生动的网站,不能在实验室中被重新编码。 – yiweng

+0

好的,但你说你有一个由机器生成的核心文件 - 是不是很容易在那里安装gdb并检查它 - 因为gdb在生产机器上的开销很小。 –

回答

1

听起来像是你想要set solib-search-path,当在sysroot中搜索失败时,它以冒号分隔的目录名列表来搜索共享库。

相关命令set sysroot(又名set solib-absolute-prefix)允许您将任何目录设置为用于使用绝对路径名加载库的根目录,但是您需要确保这些库位于正确的目录结构下新的根,听起来像你不想这样做。

1

您可以尝试dir命令更改为文件的位置。

1

你正在寻找的命令是

set substitute-path <from> <to>