在 GDB 中,set substitute-path
命令用于替换调试信息中的源代码路径。如果你想要添加一个新的路径,而不是替换已有的路径,你可以使用 set debug-file-directory
命令,这个命令允许你指定一个或多个目录来查找源文件,但并不改变原有的源代码路径。
使用 set debug-file-directory
set debug-file-directory /path/to/new/source
这条命令会告诉 GDB 去 /path/to/new/source
目录中查找源文件。GDB 会首先尝试从调试信息中获取源代码路径,如果未能找到,会继续在你指定的新目录中查找。
示例
假设你的源代码实际存放在 /home/user/project/src
,但是你的程序编译时的调试信息包含了 /original/path/
。如果希望在新位置 /new/path/
进行额外的查找,可以执行:
set debug-file-directory /new/path/
这样做后,当 GDB 查找源文件时,会先尝试 /original/path/
,如果没找到,再去 /new/path/
寻找对应的文件。
注意事项
set substitute-path
是为了替换而设计的,而set debug-file-directory
则是为了增加额外搜索路径。- 这些设置可以通过
.gdbinit
文件自动加载,使每次启动 GDB 时都应用这些配置。
总结起来,如果只想添加新的路径以供 GDB 查找,而不影响现有的路径,则应使用 set debug-file-directory
。
内容由零声教学AI助手提供,问题来源于学员提问