温馨提示×

怎样排查debian rust错

小樊
57
2026-09-26 09:52:22
栏目: 编程语言

在 Debian 上排查 Rust 相关错误,可以按「环境 → 编译 → 运行 → 系统依赖」的顺序来定位问题。下面给你一套实用排查清单。


一、先确认 Rust 环境本身

1. 检查 Rust 是否安装正确

rustc --version
cargo --version

如果命令不存在:

  • Debian 官方源版本通常较旧:
    sudo apt install rustc cargo
    
  • 推荐用官方方式(更新更快):
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source "$HOME/.cargo/env"
    

2. 确认工具链

rustup toolchain list
rustup show

二、编译错误排查(最常见)

1. 看完整错误

cargo build 2>&1 | less

重点看:

  • error[Exxxx]:Rust 编译器错误
  • warning 一般不是致命问题

2. 清理后重新编译

cargo clean
cargo build

3. 常见 Debian 特有问题

✅ OpenSSL 报错

例如:

failed to find OpenSSL development headers

解决:

sudo apt install pkg-config libssl-dev

✅ 缺少系统库(C 依赖)

例如 sqlite、zlib、libusb:

sudo apt install libsqlite3-dev zlib1g-dev

三、运行期错误排查

1. 直接运行看报错

cargo run

或:

./target/debug/your_app

2. 查看 panic 信息

Rust 运行时错误通常长这样:

thread 'main' panicked at '...', src/main.rs:10

→ 看文件和行号

3. 开启 backtrace

RUST_BACKTRACE=1 cargo run

四、Debian 特有系统问题

1. glibc 版本过低

错误示例:

version `GLIBC_2.28' not found

解决:

  • 升级 Debian(推荐 ≥ 11)
  • 或在旧系统上本地编译

2. 动态链接库找不到

ldd target/debug/your_app

缺哪个 .so 就装哪个 -dev 包


五、日志与调试

1. 加日志(推荐)

# Cargo.toml
[dependencies]
log = "0.4"
env_logger = "0.10"
env_logger::init();
log::info!("start");

运行:

RUST_LOG=info cargo run

2. 用 gdb(少见但有效)

sudo apt install gdb
gdb target/debug/your_app

六、最小复现法(最快定位)

  1. 新建项目
    cargo new test_app
    cd test_app
    
  2. 只加最小代码
  3. 逐步加依赖,直到错误出现

七、你可以这样给我信息,我直接帮你看

如果你愿意,可以把以下东西贴出来:

  • 完整错误信息(不要只截图)
  • cargo --version
  • Debian 版本(cat /etc/os-release)
  • 用到的依赖(Cargo.toml)

我可以直接帮你定位是哪一类问题。

0 踩