1. 命令行調試工具
gdb
(GNU調試器)和lldb
(LLVM調試器),可通過sudo apt install gdb lldb
安裝。這些工具是調試Rust程序的基礎,支持設置斷點、單步執行、查看變量等核心功能,但默認對Rust的語法(如枚舉、模式匹配)支持有限。rust-gdb
(GDB的Rust包裝器)和rust-lldb
(LLDB的Rust包裝器)通過rustup component add rust-src rust-std
安裝,能提供更貼合Rust的調試體驗——例如顯示Rust類型的完整名稱、優化結構體/枚舉的打印格式(如Debug
trait的輸出)。使用方式為:rust-gdb target/debug/your_program
或rust-lldb target/debug/your_program
。2. IDE與編輯器集成
rust-analyzer
(Rust語言支持)和CodeLLDB
(LLDB調試適配器)擴展,可實現內置調試功能。需配置.vscode/launch.json
文件(指定程序路徑、調試器類型為lldb
),并配合tasks.json
(自動構建項目)使用,支持斷點、變量監視、調用棧查看等功能。Rust
插件(支持代碼分析和調試),CLion則是JetBrains專為Rust設計的IDE,默認集成調試功能。兩者均支持Cargo項目配置、斷點調試、表達式求值等高級功能,適合大型項目開發。3. 輔助調試技巧
println!("變量值: {}", variable)
是最基礎的調試方式,適合快速輸出變量值或程序流程;dbg!(variable)
(Rust 1.34+引入)更強大,會自動打印變量值、文件名及行號,且不會影響程序發布版本的編譯(需通過#[cfg(debug_assertions)]
控制)。RUST_BACKTRACE=1
環境變量可獲取完整的調用堆棧(如RUST_BACKTRACE=1 cargo run
),幫助定位崩潰位置。valgrind
(通過sudo apt install valgrind
安裝)可用于檢測內存泄漏、非法內存訪問等問題,運行命令為valgrind --tool=memcheck target/debug/your_program
,適合排查內存相關的bug。