阅读量:3
Linux下Rust调试实操指南
一 环境准备与构建配置
- 安装调试器与工具链:在基于 Debian/Ubuntu 的系统执行
sudo apt-get install gdb lldb;在 CentOS/RHEL 执行sudo yum install gdb lldb。Rust 提供增强版调试器包装 rust-gdb 与 rust-lldb,能更好识别 Rust 特有类型与宏。 - 生成调试符号:默认
cargo build即为 dev 配置,已包含调试信息;如需显式配置,可在 Cargo.toml 中确保:
调试时优先使用 target/debug/your_program;仅在需要性能分析时再用 –release(优化会重排代码、影响调试体验)。[profile.dev] debug = true opt-level = 0 # 关闭优化更利于单步与观察 overflow-checks = true - 发行版调试建议:在 CentOS 等发行版上同样通过
gdb/lldb配合rust-gdb/rust-lldb使用,步骤与主流发行版一致。
二 命令行调试器使用
- 使用 rust-gdb(推荐):
rust-gdb target/debug/your_program (gdb) break main (gdb) run (gdb) next (gdb) step (gdb) print variable_name (gdb) backtrace (gdb) info locals (gdb) info args - 使用 rust-lldb(推荐):
rust-lldb target/debug/your_program (lldb) breakpoint set --name main (lldb) run (lldb) next (lldb) step (lldb) print variable_name (lldb) bt (lldb) frame variable - 小技巧
- 条件断点(LLDB):
breakpoint set -f src/main.rs -l 42 -c "x > 10" - 打印表达式与类型:
print my_vec.len()、pt my_var - 观察点:
watch my_var(值改变时中断)
这些命令在 rust-gdb/rust-lldb 中对 Vec、HashMap、String、Option/Result 等类型有更友好的显示。
- 条件断点(LLDB):
三 IDE与编辑器调试
- Visual Studio Code:安装 rust-analyzer 与 CodeLLDB 扩展,创建
.vscode/launch.json,示例:
之后在代码行号左侧点击设断点,按 F5 启动调试。{ "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", "name": "Debug", "program": "${workspaceFolder}/target/debug/your_program", "args": [], "cwd": "${workspaceFolder}", "env": {} } ] } - IntelliJ IDEA / CLion:安装 Rust 插件,使用内置 LLDB/GDB 后端进行图形化断点、变量与堆栈查看。
四 辅助手段与常见问题
- 快速打印与断言
dbg!(expr):打印表达式值与 文件:行号,适合临时定位。println!("{:?}", value):对实现 Debug 的类型输出。debug_assert!/assert_eq!:开发期验证不变式,发布构建自动移除(未定义 NDEBUG 时生效)。
- 日志与测试
- 使用 log + env_logger 输出运行轨迹;
- 用
cargo test编写单元/集成测试,隔离问题。
- 内存与性能
- Valgrind(内存错误/泄漏):
valgrind --tool=memcheck target/debug/your_program; - perf(热点与调用栈):
perf record -g target/debug/your_program && perf report。
- Valgrind(内存错误/泄漏):
- 崩溃回溯与编译器选项
- 在 Cargo.toml 启用更详细的回溯:
[profile.dev] debug = true rustflags = ["-Z", "backtrace"]
- 在 Cargo.toml 启用更详细的回溯:
以上就是关于“Linux系统中Rust如何调试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm