Windows上的铁 rust 痕迹?

kpbpu008  于 2023-03-12  发布在  Windows
关注(0)|答案(4)|浏览(159)

我正尝试在windows上运行我的项目https://github.com/comit-network/create-comit-app/(master分支)(我通常在unix系统上编码)。
它恐慌,但我无法得到一个回溯,尽管设置RUST_BACKTRACE=1,甚至RUST_BACKTRACE=full
我在同一台机器上编译和运行。
这是我得到的:

C:/Users/dante/.cargo/bin/cargo.exe run --color=always --package create-comit-app --bin create-comit-app --no-default-features -- start-env
   Compiling create-comit-app v0.5.0 (C:\Users\dante\src\create-comit-app)
    Finished dev [unoptimized + debuginfo] target(s) in 25.36s
     Running `target\debug\create-comit-app.exe start-env`
Panic received, cleaning up...Panic received, cleaning up...thread panicked while processing panic. aborting.
error: process didn't exit successfully: `target\debug\create-comit-app.exe start-env` (exit code: 0xc000001d, STATUS_ILLEGAL_INSTRUCTION)

Process finished with exit code -1073741795 (0xC000001D)

经过一番研究,似乎应该可以在windows上得到一个回溯?
我在同一台机器上编码和运行:

Rust: 1.39.0
>rustc --version
rustc 1.39.0 (4560ea788 2019-11-04)
>rustup toolchain list
stable-x86_64-pc-windows-msvc (default)
nightly-2019-04-30-x86_64-pc-windows-msvc
1.35.0-x86_64-pc-windows-msvc
1.37.0-x86_64-pc-windows-msvc
1.38.0-x86_64-pc-windows-msvc
1.39.0-x86_64-pc-windows-msvc

而且看起来我不能用-msvc工具链调试,只能用-gnu调试。现在正在尝试安装gnu链。
有没有人在Rust有过Windows操作经验?

zphenhs4

zphenhs41#

使用cmd时,

set RUST_BACKTRACE=1
set RUST_BACKTRACE=full

当使用powershell时,它是

$env:RUST_BACKTRACE=1
$env:RUST_BACKTRACE="full"

例如:

$env:RUST_BACKTRACE=1; cargo run

How do I run 'cargo test' with RUST_BACKTRACE=1 on Windows?
about Environment Variables - PowerShell | Microsoft Docs
set - cmd | Microsoft Docs

m1m5dgzv

m1m5dgzv2#

在Windows上很好用-

$env:RUST_BACKTRACE=1; cargo run
nzkunb0c

nzkunb0c3#

感谢那些试图提供帮助的人。
我的一位同事成功地解决了恐慌问题。
关于回溯,通过将工具链更改为...-windows-gnu解决了此问题

nkkqxpd9

nkkqxpd94#

如果您不想使用特定于操作系统的方法设置环境变量,您可以在项目级别配置它,并随时更改它。
只需在项目的根目录下创建一个.cargo/config.toml文件,并在其中写入以下内容:

[env]
RUST_BACKTRACE = "1"

当您完成后,如果需要一个不那么冗长的编译器,可以设置RUST_BACKTRACE="0"

相关问题