温馨提示×

Rust 在 Ubuntu 中如何进行调试

小樊
37
2025-12-30 06:27:51
栏目: 编程语言

在 Ubuntu 中调试 Rust 的高效方法

一 环境准备与构建配置

  • 安装调试器与工具链:在终端执行 sudo apt install gdb lldb;如使用 VS Code,建议安装 rust-analyzerCodeLLDB 扩展。调试依赖调试符号,确保使用开发配置构建:cargo build(默认生成调试信息)。如需显式控制,在 Cargo.toml 中保留或设置 [profile.dev] debug = true。必要时可使用 rust-gdb/rust-lldb 包装器获得更好的 Rust 语法与类型支持。

二 命令行调试 GDB 与 LLDB

  • 使用 GDB:cargo build 后启动 rust-gdb target/debug/your_program;常用命令:break src/main.rs:10(断点)、run(运行)、next/step(单步跳过/进入)、print x(打印变量)、backtrace(查看调用栈)。现代 **GDB(≥ 8.0)**对 Rust 语法有较好支持。
  • 使用 LLDB:cargo build 后启动 rust-lldb target/debug/your_program;常用命令:breakpoint set --name main(断点)、run、next/step、frame variable my_var(查看变量)。LLDB 对 Option/Result/Box 等类型有更友好的显示与检查能力。

三 IDE 图形化调试 VS Code

  • 安装扩展:VS Code 扩展市场安装 rust-analyzerCodeLLDB。在项目根目录创建 .vscode/launch.json,示例配置: { “version”: “0.2.0”, “configurations”: [ { “type”: “lldb”, “request”: “launch”, “name”: “Debug”, “program”: “${workspaceFolder}/target/debug/your_program”, “args”: [], “cwd”: “${workspaceFolder}” } ] }
  • 使用方式:在代码行号左侧点击设置断点,按 F5 启动调试,可在调试侧边栏查看变量、调用栈并控制执行。

四 快速定位与辅助工具

  • 回溯与日志:程序崩溃时设置环境变量查看调用栈:RUST_BACKTRACE=1 cargo run;日常可用 dbg! 快速打印值与位置,或用 log + env_logger 输出结构化日志(RUST_LOG=info cargo run)。
  • 内存与性能:用 valgrind --tool=memcheck 检测内存错误与泄漏;性能分析可用 perf record/report;生成火焰图可用 cargo install flamegraph 后执行 flamegraph ./target/release/your_program。

五 常见问题与排查

  • 无调试符号或源码对不上:确认使用 cargo build 而非 --release;在 Cargo.toml 中确保 [profile.dev] debug = true;必要时清理并重构建(cargo clean && cargo build)。
  • 第三方库或系统依赖缺失导致构建/运行异常:安装常用依赖(如 sudo apt-get install build-essential libssl-dev pkg-config),并根据报错安装对应 -dev 包;更新工具链(rustup update)后重试。

0