以下是Linux下Rust程序的调试技巧:
sudo apt install gdb lldb(Debian/Ubuntu)或通过Rust工具链自动配置。rust-gdb target/debug/your_program 或 rust-lldb target/debug/your_program。break file.rs:line:设置断点。run:运行程序。next/step:单步执行(跳过/进入函数)。print variable:查看变量值。dbg!宏
快速打印变量值及位置,无需手动编写println!,支持复杂表达式。
let x = 5; dbg!(x); // 输出:[src/main.rs:2] x = 5 rust-lldb高级功能
Option<T>、Box<T>等类型内部状态。br set -f main.rs -l 10 -c "x > 5"。p *boxed_value(查看Box内容)、p rc_value.strong_count(查看引用计数)。rust-analyzer扩展。launch.json:{ "type": "lldb", "request": "launch", "program": "${workspaceFolder}/target/debug/your_program", "args": [] } 日志调试
使用log或env_logger库,通过RUST_LOG环境变量控制输出级别。
use log::info; fn main() { env_logger::init(); info!("程序启动"); } 内存调试
用valgrind检测内存泄漏:valgrind --tool=memcheck target/debug/your_program。
单元测试
通过cargo test运行测试,快速定位逻辑错误。
Cargo.toml中[profile.dev]包含debug = true,保留调试符号。