最近,我们的开发团队开始使用ccache进行更快的编译(编译是在sandbox/usr/x中完成的)。
现在,当我从沙箱(/usr/y)编译并尝试在Eclipse(GDB(DSF)进程启动器)中的代码中设置断点时,它找不到文件。进一步的研究表明,Eclipse gdb使用文件的完整路径来设置断点(例如b/usr/y/untouchedFile.cpp:1234),但实际路径(在gdb调试器中)实际上是/usr/x/untouchedFile.cpp。
唯一有效的方法是在控制台上键入断点,并在断点被命中时执行源文件Map。
我想通过单击代码行来设置断点(以前在ccache之前工作)。
我想知道是否有办法解决这个问题。
谢谢!
1条答案
按热度按时间ckocjqey1#
这个问题可以通过重新Mapdebug-info来解决。
-fdiagnostics-absolute-paths -fdebug-prefix-map=/usr/y=/usr/x
set substitute-path "/usr/x" "/usr/y"
添加到gdbinit中