如何在eclipse中用ccache编译源代码时设置c++断点
How to set C++ breakpoint in eclipse when source is compiled with ccache?
最近,我们的开发团队开始使用缓存来实现更快的编译(编译是从sandbox/usr/x完成的)。
现在,当我从沙箱(/usr/y)进行编译,并尝试在Eclipse (GDB (DSF)进程启动器)中的代码中设置断点时,它无法找到该文件。进一步的调查显示,Eclipse gdb使用文件的完整路径来设置断点(例如b/usr/y/untouchedfile .cpp:1234),但实际路径(在gdb调试器中)实际上是/usr/x/untouchedfile .cpp。
唯一有效的方法是在控制台上输入一个断点,并在遇到断点时进行源文件映射。
我想通过单击代码行来设置断点(以前在缓存之前工作)。
我想知道是否有一种方法可以绕过这个。
谢谢!
这个问题可以通过重新映射debug-info来解决。
- 编译时,添加编译标志:
-fdiagnostics-absolute-paths -fdebug-prefix-map=/usr/y=/usr/x
- 在调试过程中,将
set substitute-path "/usr/x" "/usr/y"
添加到gdbinit
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 在Linux中哪里可以找到互斥、未来等的源代码
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何在boost beast http请求中设置http头
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 尽管进行了设置,Visual Studio仍无法打开源代码文件
- 如何在源代码中设置程序执行的优先级
- 设置我的源代码,构建目录和制作工具
- 如何设置eclipse与arm的源代码工具链一起工作
- 使用c++源代码在gnuplot中设置参数
- LLDB -设置源代码路径
- 如何在eclipse中用ccache编译源代码时设置c++断点