eclipse - Eclipse 在调试期间无法找到源代码
问题描述
我正在使用 docker 中的 gcc 为 arm 控制器构建我的 c/c++ 应用程序。与 .hex 和 .bin 文件一起生成的还有 .elf 文件。一旦生成,它们都会从容器中导出到主机。现在我想用 openocd、arm-none-eabi-gdb 和 eclipse cdt 调试应用程序。我能够在目标板上启动调试会话,但是当我停止调试器(或者它在主启动时停止)时,它无法找到要显示的源文件:
Can't find a source file at "/usr/src/Testbench/LIBS/Shell/shell.c"
这里的路径是docker容器中的构建项目之一,与现在所有文件所在主机上的新调试项目无关。我试图在 Eclipse 中编辑源查找路径,但没有成功,我可以找到该文件,然后它只适用于该文件。也指定文件夹不起作用。无论如何,始终为项目中的所有文件/文件夹手动执行此操作不是一种选择。
解决方案应该是“脚本化的”,因为所有这些都是 CI/devops 概念的一部分。
似乎“错误”的路径是硬编码在 elf 文件中的。是否有(脚本)方法来更改该路径以匹配实际项目位置,以便 eclipse 和 gdb 按预期工作,并且开发人员可以在调试时看到调试信息?
可能它应该适用于 Linux 和 Windows ;-)
在此先感谢您的帮助
马丁
解决方案
现在它起作用了!在 eclipse 中的 gdb 命令中的调试配置中,我添加了:
set substitute-path /usr/src/ ${workspace_loc}
然后我不得不去eclipse中的源查找路径并删除所有内容。
推荐阅读
- excel - 使用可变长度列表中的单元格值填充电子邮件文本
- python - 将熊猫数据框转换为 json,每一行都封装在一个父元素中
- c++ - 使用通用队列向量
- c# - gRPC 调用的镜像
- angular - Jhipster jenkins:NaN 中的错误但它们指向不同的模块 Webpack 无法区分上下文并且无法加载
- html - 如何配置我的 html 来播放视频 youtube?
- sql - 使用每个 sql SELECT 结果,执行 UPDATE
- memory - MIPS 架构填充
- pyspark - 如何在 Windows 的虚拟环境中让 pyspark 在 Jupyter Notebook 中工作?
- .net - 在启用了身份/身份验证的 .Net 5 的 EF Core 中播种数据时出现问题