以下是在Debian上調試Rust程序的常用技巧:
基礎打印調試
println!("{:?}", variable)
打印變量內容,{:#?}
可美化輸出(需為結構體實現Debug
特征)。dbg!
宏可快速打印變量值及位置信息,支持表達式和結構體。實現Debug特征
Debug
,或手動實現fmt::Debug
以控制輸出格式。#[cfg_attr(debug_assertions, derive(Debug))]
在調試模式下自動啟用Debug
。使用調試器
rust-gdb
或rust-lldb
啟動調試會話,支持設置斷點、單步執行、查看變量等操作。break
(設置斷點)、next
/step
(單步執行)、print
(查看變量)、backtrace
(查看調用棧)。break file.rs:10 if x > 5
(僅在滿足條件時中斷)。調試符號管理
Cargo.toml
中設置[profile.dev] debug = true
保留調試符號。cargo deb --separate-debug-symbols
將符號單獨打包。靜態編譯(避免庫依賴問題)
.cargo/config.toml
中配置rustflags = ["-C", "target-feature=+crt-static"]
,生成靜態鏈接二進制文件。內存與性能調試
valgrind --tool=memcheck
檢測內存泄漏或非法訪問。RUST_BACKTRACE=1
獲取程序崩潰時的調用?;厮?。IDE集成調試
rust-analyzer
,配置launch.json
后可直接在編輯器中設置斷點、查看變量。以上技巧可根據具體場景選擇,基礎調試優先使用println!
/dbg!
,復雜場景結合調試器或靜態編譯分析[1,2,3,4,5,6,7,8,9,10,11]。