【发布时间】:2021-01-29 19:38:50
【问题描述】:
当我遇到上述问题时,我正试图在 CLion 中调试 Rust
我更新了我的工具链设置以使用建议的默认值:
如何解决此问题并让 CLion 能够调试 Rust 代码?
我进行了一些搜索,但没有找到一个简单的答案(至少我可以轻松理解)。
任何帮助将不胜感激。
【问题讨论】:
-
不清楚你到底在问什么。请编辑您的问题,明确说明您想回答的问题。
当我遇到上述问题时,我正试图在 CLion 中调试 Rust
我更新了我的工具链设置以使用建议的默认值:
如何解决此问题并让 CLion 能够调试 Rust 代码?
我进行了一些搜索,但没有找到一个简单的答案(至少我可以轻松理解)。
任何帮助将不胜感激。
【问题讨论】:
错误消息与 Rust 工具链有关,如果您还没有,则需要为 Rust 安装基于 GNU 的工具链(在安装之前,请确保为您的环境选择有效的基于 gnu 的工具链,如果您是不确定请阅读注意部分)。
> rustup toolchain install stable-x86_64-pc-windows-gnu
然后在解决此问题的最简单方法后将其设置为默认工具链
> rustup default stable-x86_64-pc-windows-gnu
注意:以工具链stable-x86_64-pc-windows为例;它是通过稳定通道为 64 位 Windows 提供的解决方案,不同的架构需要使用另一个工具链(详情:请遵循来自 other answer 的官方 jetbrains 指南) ,您也可以免费使用 nightly 或 beta。
【讨论】:
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: "C:/Users/Jonathan/CLionProjects/rust_proj/target/debug/rust_proj-587b28fba9c3bb8c.exe": not in executable format: File format not recognized。有什么帮助吗?
not in executable format: File format not recognized 错误,我现在在您发布一年后得到它。我还没有弄清楚,但似乎 GitHub here 上的 psotos 通过确保他的 rust 库和调试器具有相同的位数(在他的情况下为 x64)解决了他的问题。我为自己更正了设置,但仍然遇到同样的错误。
除了Ömer Erden's answer,值得指出的是,Jetbarins 现在有一篇关于如何为 Rust 配置 Clion 的文章,其中包含一些关于哪些设置适用于 Rust 开发的提示。
这一段尤其与问题有关:
在 Windows 上,转到设置 |构建、执行、部署 |工具链 并将Cygwin or MinGW 设置为您的工作环境。然后,运行
rustup toolchain list并检查第一行:它应该是 与调试器位数匹配的 gnu 版本。例如,如果 您正在使用 MinGW(32 位),默认工具链应该是 i686-pc-windows-gnu。如果你在 MinGW64 上,它应该是 x86_64-pc-windows-gnu。您可以通过以下方式设置适当的工具链 运行rustup default <toolchain_name>。
【讨论】: