在 Eclipse Corrosion 上调试 rust 不再适用于全新安装
Posted
技术标签:
【中文标题】在 Eclipse Corrosion 上调试 rust 不再适用于全新安装【英文标题】:debugging rust on Eclipse Corrosion no longer works on fresh install 【发布时间】:2021-05-21 07:50:51 【问题描述】:我更换了我的硬盘,所以我重新安装了 Eclipse Corrosion,但我保留了我的 Rust 项目。问题是当我在调试模式下启动我的 prog 时出现错误。它似乎在运行模式下工作,但我没有对此进行太多测试。
错误是 在“启动 my_prog”期间发生内部错误。 无法读取数组长度,因为“launchConfigEnv”为空
重要提示:它似乎与使用输入文件(调试配置/通用/输入文件)有关
我尝试了很多东西,很多安装,新项目,很多很多东西,但没有任何效果(我不知道 launchConfigEnv 是什么)。
欢迎任何帮助...
编辑:我安装了 2019.12 Eclipse,它工作正常。我会在这个版本上做一些工作,并尝试更多的配置来缩小问题。
【问题讨论】:
Eclipse 2021-09-M3A 上的相同问题。Corrosion: Rust edition in Eclipse IDE 1.2.1.202106081156 org.eclipse.corrosion.feature.feature.group Eclipse Corrosion
Eclipse IDE for Embedded C/C++ Developers 4.21.0.20210827-1400 epp.package.embedcpp Eclipse Packaging Project
【参考方案1】:
作为一种解决方法,将单个环境变量添加到启动配置中,如下所示:
完成后,重新启动它,它应该可以工作了。
请注意,为了在 Eclipse 中进行 rust 调试,我安装了 MSYS2 和以下 MSYS2 包。
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gdb
pacman -S man
我按照 Rust Corrosion Troubleshooting 指南中的一些说明获得了一个正常工作的 GDB。
参考:https://github.com/eclipse/corrosion/blob/master/documentation/Troubleshooting.md#debugging-on-windows
需要将Rust调试器命令改为rust-dbg.cmd,如下:
但是,PATH 环境对我不起作用,所以在 rust-gdb.cmd 脚本中,我在顶部附近添加了这个:
SET PATH=%PATH%;F:\msys64\mingw64\bin;F:\Data\.cargo\bin
(根据您安装的 MSYS2 和 Cargo/Rustup 进行调整)
此后 Eclipse 能够启动调试会话并在断点处停止。
【讨论】:
我在这里提出了一个关于这个问题的错误报告:github.com/eclipse/corrosion/issues/379以上是关于在 Eclipse Corrosion 上调试 rust 不再适用于全新安装的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse 在调试时使用 java 8 在 ClassLoader 上中断