如何在eclipse中设置C++断点,当源代码使用ccache编译时?

r1zhe5dt  于 2023-06-22  发布在  Eclipse
关注(0)|答案(1)|浏览(123)

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

ckocjqey

ckocjqey1#

这个问题可以通过重新Mapdebug-info来解决。

  • 编译期间,添加编译标志:-fdiagnostics-absolute-paths -fdebug-prefix-map=/usr/y=/usr/x
  • 在调试期间,将set substitute-path "/usr/x" "/usr/y"添加到gdbinit中

相关问题