【问题标题】:Debugging Rust in Clion results in "Error creating process"在 Clion 中调试 Rust 会导致“错误创建过程”
【发布时间】:2020-03-21 16:51:47
【问题描述】:

我是 rust 新手,想使用Clion(目前为 19.3)调试我的 Rust 代码,并按照this answer 将编译器从 MSVC 切换到 GNU,现在当我运行我的程序(在调试中)时,我从 Clion 得到这个错误:

com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Error creating process <Program Path>, (error 50).

虽然不调试也可以正常运行。

如果我用谷歌搜索错误,我会得到这个issue on github,它本质上是说在 64 位应用程序上使用 64 位编译器。我添加的编译器是 64 位的,因为我安装了 64 位版本的 rust,所以我假设它输出的程序是 64 位的......(虽然我对 rust 的了解还不够,无法 100% 确定)

运行 rustup show 会返回:

rustup show
Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\User\.rustup

installed toolchains
--------------------

stable-x86_64-pc-windows-gnu (default)
stable-x86_64-pc-windows-msvc

active toolchain
----------------

stable-x86_64-pc-windows-gnu (default)
rustc 1.42.0 (b8cedc004 2020-03-09)

这是我得到使用正确工具链的想法的地方(正如它所说的 x86_64 到处都是)。

我哪里出错了?什么是错过配置?

【问题讨论】:

    标签: debugging rust compilation ide clion


    【解决方案1】:

    原来我超级笨,并且让 Clion 指向 32 位安装而不是 64 位安装。我最终遵循了 Jetbrains 自己的指南:https://blog.jetbrains.com/clion/2019/10/debugging-rust-code-in-clion/

    在 Windows 上,转到 设置 |构建、执行、部署 |工具链 并将 Cygwin 或 MinGW 设置为您的工作环境。然后,运行 rustup toolchain list 并检查第一行:它应该是与调试器位数匹配的 gnu 版本之一。例如,如果您使用的是 MinGW(32 位),默认工具链应该是 i686-pc-windows-gnu。 如果您使用的是 MinGW64,它应该是 x86_64 -pc-windows-gnu。您可以通过运行 rustup default "toolchain_name" 来设置适当的工具链。

    2021 年 10 月更新

    Jetbrains 已发布更新的博客文章,其中显示了他们对调试过程所做的一些改进,例如在 Windows 上,您不再需要更改设置即可进行调试! https://blog.jetbrains.com/rust/2021/10/19/debugging-rust-in-jetbrains-ides-state-of-affairs/

    【讨论】:

    • 如果这是解决方案,您应该毫不犹豫地接受自己的答案,这很好。
    猜你喜欢
    • 2020-12-21
    • 2023-03-20
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2019-09-27
    • 1970-01-01
    相关资源
    最近更新 更多