温馨提示×

怎样调试debian的rust

小樊
40
2026-09-08 05:11:18
栏目: 编程语言

在 Debian 上调试 Rust 程序,通常可以分为环境准备、编译配置、调试工具选择、常见调试方式几个部分。下面按实用角度说明。


一、准备调试环境

1. 安装 Rust 工具链

如果你还没装:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

2. 安装调试器(GDB / LLDB)

Debian 上常用:

sudo apt update
sudo apt install gdb
# 或
sudo apt install lldb

Rust 官方更推荐 GDB(带 Rust 支持)或 LLDB


二、确保生成调试信息

1. 开发模式(默认就带调试信息)

cargo build

生成的二进制在:

target/debug/your_program

⚠️ 不要使用:

cargo build --release

release 模式会优化代码,调试困难。


2. 显式开启调试符号(可选)

Cargo.toml

[profile.dev]
debug = true

三、使用 GDB 调试 Rust

1. 启动 GDB

gdb target/debug/your_program

2. 常用命令

run
break main
break src/main.rs:10
next
step
print x
backtrace

3. 调试 panic

Rust panic 时:

run
bt

可以看到 Rust 栈帧(虽然带 mangled 名)。


四、使用 LLDB(更友好)

lldb target/debug/your_program

常用:

run
break set --file src/main.rs --line 10
bt
frame variable

五、使用 VS Code 调试(推荐)

1. 安装插件

  • Rust Analyzer
  • CodeLLDB(推荐,比 GDB 稳定)

2. 配置 launch.json

{
  "type": "lldb",
  "request": "launch",
  "name": "Debug",
  "program": "${workspaceFolder}/target/debug/your_program",
  "args": []
}

直接 F5 调试,支持:

  • 断点
  • 变量查看
  • 单步执行

六、日志与运行时调试(不靠 GDB)

1. 使用 println!

println!("x = {:?}", x);

2. 使用日志库(推荐)

cargo add log
cargo add env_logger
env_logger::init();
log::debug!("value = {}", x);

运行:

RUST_LOG=debug cargo run

七、常见调试技巧

1. 查看宏展开

cargo expand

2. 检查未使用变量

cargo build 2>&1 | grep warning

3. 分析崩溃

RUST_BACKTRACE=1 cargo run

八、容器 / 服务器无 GUI 调试

  • gdb
  • rr(可逆调试,很强但稍复杂)
sudo apt install rr

如果你愿意,可以告诉我:

  • 你是 命令行还是 VS Code
  • 调试的是 普通程序 / 多线程 / async / 嵌入式
  • 遇到的是 panic / 卡死 / 段错误

我可以给你更具体的调试方案。

0