我正在 Windows 上使用 Eclipse 使用 Cygwin 的工具链对 C++ 进行编程。我也想用它来调试,但我的问题如下:
- 要调试的可执行文件位于工作区的子文件夹中(我猜这是相当标准的),但不是构建可执行文件的实际项目的子文件夹。
- Eclipse 和 GDB 具有不同的路径格式:Eclipse 使用 Windows 路径,而 GDB 使用 posix 路径。 Eclipse 知道
D:\Path\To\Exe
而 GDB 需要/cygdrive/d/Path/To/Exe
。 - Eclipse 坚持当我在“调试配置...”对话框中输入路径时,它可以找到要调试的可执行文件。在路径正确之前,“调试”按钮将被禁用。
- Eclipse 似乎没有在该特定输入框中输入
${workspace_loc}
。
是否有一些我不知道的隐藏选项?您以前遇到过这个问题吗?
到目前为止我尝试过的内容
- 强制 Eclipse 将我输入的路径传递给 GDB --- 不起作用。
- 摆弄源查找路径和路径映射 --- 不起作用,它实际上仅适用于源文件。
- 为可执行文件所在的输出文件夹创建一个 C++ 项目,这样我就可以获得项目内 exe 的相对路径 --- 不起作用。
我仍然可以尝试的事情
- 使用
.gdbinit
文件放弃 Eclipse 给出的路径并使用 posix 路径加载真正的可执行文件 --- 尝试过,但不是很难。 - 指定一个包装器作为 GDB 的参数 --- 污染我的工作空间的根目录。
- 提供我自己的插件来处理这种情况 --- 添加另一段代码以另一种语言进行维护。
最佳答案
在 Eclipse 的“首选项”->“C/C++”->“调试”->“公共(public)源查找路径”中添加新的路径映射。作为编译路径,您应该使用 Unix 类路径(例如/cygdrive/c),作为本地系统路径,您应该使用 Windows 类路径(例如 c:)。
关于eclipse - 如何让 Eclipse 为 Cygwin 的 GDB 提供可执行文件的 posix 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541099/