Rust在Ubuntu上如何进行调试
导读:在 Ubuntu 上调试 Rust 的高效做法 一 环境准备 安装或更新 Rust 工具链(优先使用 rustup): 安装:curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup....
在 Ubuntu 上调试 Rust 的高效做法
一 环境准备
- 安装或更新 Rust 工具链(优先使用 rustup):
- 安装:curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 将 ~/.cargo/bin 加入 PATH,执行 source $HOME/.cargo/env
- 安装系统调试器与 Rust 调试组件:
- 系统调试器:sudo apt update & & sudo apt install gdb lldb
- Rust 增强组件:rustup component add rust-src llvm-tools-preview
- 建议始终使用 debug 构建进行调试(优化更少、符号更全):cargo build;仅在性能分析时使用 cargo build --release。
二 命令行调试 GDB 与 LLDB
- 使用 Rust 增强的调试器启动:
- GDB:rust-gdb target/debug/your_project
- LLDB:rust-lldb target/debug/your_project
- 常用调试命令(在调试器内):
- 设置断点:break main 或 break src/main.rs:10
- 运行:run(或 continue)
- 单步:step / next
- 打印变量:print variable_name
- 查看回溯:backtrace
- 崩溃时获取更完整回溯:在运行前导出环境变量 RUST_BACKTRACE=1,如:RUST_BACKTRACE=1 cargo run。
三 在 VSCode 中调试
- 安装扩展:
- rust-analyzer(语言服务器)
- CodeLLDB(LLDB 调试器集成)
- 生成调试配置(.vscode/launch.json),选择 LLDB 示例:
- 点击运行与调试 → 创建 launch.json → 选择 LLDB
- 示例配置(Linux): { “version”: “0.2.0”, “configurations”: [ { “name”: “(linux) Launch”, “type”: “lldb”, “request”: “launch”, “program”: “${ workspaceFolder} /target/debug/${ workspaceFolderBasename} ”, “args”: [], “cwd”: “${ workspaceFolder} ” } ] }
- 调试要点:
- 确保使用 debug 构建(未优化、带调试符号)
- 断点生效后按 F5 启动,可在变量面板查看与监视表达式。
四 内存与性能问题排查
- 内存错误与泄漏检测(Valgrind,仅适用于 x86_64 且未重度优化构建):
- 安装:sudo apt install valgrind
- 检测:valgrind --tool=memcheck target/debug/your_project
- 提示:Valgrind 对 Rust 的 jemalloc 支持有限,若使用默认分配器通常能获得更好结果。
- 快速打印调试:
- println! 与 dbg! 宏用于临时输出,便于定位问题。
- 回溯与日志:
- 崩溃时启用 RUST_BACKTRACE=1 获取完整调用栈,有助于定位 panic 来源。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Rust在Ubuntu上如何进行调试
本文地址: https://pptw.com/jishu/766638.html
