GDB设置替换路径不起作用

时间:2016-11-02 03:04:14

标签: gdb

我有一个使用g++ -O0 -g(GCC 4.3.4)构建的可执行文件,并且源代码立即存档。在以后它被改变了。我现在想调试原始版本。可执行文件保存了原始源代码的位置,该源代码现在由具有相同文件名的不同版本填充。我想将GDB(GNU gdb(GDB)SUSE(7.5.1-0.7.29))指向旧的源代码。我把它提取到了一个新的位置。我试过设置目录和替换路径。每次加载的源代码都是修改后的版本。我正在使用的命令是:

set directories /.../PILAGER2/unzip/source/
set substitute-path /.../PILAGER2/source/ /.../PILAGER2/unzip/source/

我用/.../.

替换了大部分路径

但是,如果在到达断点时键入info source,则会显示错误的文件。如果我从原始位置删除文件,则使用正确的文件。如何正确告诉GDB使用解压缩位置的源文件?

1 个答案:

答案 0 :(得分:0)

在我的情况下,磁盘系统位于单独的服务器上。使用管理员提供的路径实际上是指向并行文件共享上的位置的链接。使用Panasas系统上的实际路径工作。在我的情况下,这意味着路径以/panfs/开头,后跟服务器而不是/project/...