在 Debian 上排查 Rust 相关错误,可以按「环境 → 编译 → 运行 → 系统依赖」的顺序来定位问题。下面给你一套实用排查清单。
rustc --version
cargo --version
如果命令不存在:
sudo apt install rustc cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
rustup toolchain list
rustup show
cargo build 2>&1 | less
重点看:
error[Exxxx]:Rust 编译器错误warning 一般不是致命问题cargo clean
cargo build
例如:
failed to find OpenSSL development headers
解决:
sudo apt install pkg-config libssl-dev
例如 sqlite、zlib、libusb:
sudo apt install libsqlite3-dev zlib1g-dev
cargo run
或:
./target/debug/your_app
Rust 运行时错误通常长这样:
thread 'main' panicked at '...', src/main.rs:10
→ 看文件和行号
RUST_BACKTRACE=1 cargo run
错误示例:
version `GLIBC_2.28' not found
解决:
ldd target/debug/your_app
缺哪个 .so 就装哪个 -dev 包
# Cargo.toml
[dependencies]
log = "0.4"
env_logger = "0.10"
env_logger::init();
log::info!("start");
运行:
RUST_LOG=info cargo run
sudo apt install gdb
gdb target/debug/your_app
cargo new test_app
cd test_app
如果你愿意,可以把以下东西贴出来:
cargo --versioncat /etc/os-release)我可以直接帮你定位是哪一类问题。