当我在 coredump 上使用 gdb 时,它会报告一些 .so 它无法在某个路径中找到。例如:
找不到 /root/a/xx.so 的符号文件
我没有在 root 中创建目录的管理员权限,但我有 xx.so,并且在 dbx 中,我可以使用路径映射来更改可以继续调试的路径。但是在 gdb 中我找不到相同的命令。
此外,我无权更改编译器命令。也就是说,我无法更改链接器路径来重新编译。
您可以尝试dir
命令更改到文件的位置。
这听起来像你想要的,当搜索失败set solib-search-path
时,它需要一个以冒号分隔的目录名称列表来搜索共享库。sysroot
一个相关的命令set sysroot
(aka set solib-absolute-prefix
) 允许您将任何目录设置为用于加载具有绝对路径名的库的根目录,但您需要确保库在新根目录下的正确目录结构中布局,并且它听起来你不想这样做。
您正在寻找的命令是
set substitute-path <from> <to>