Rust:
Drukowanie komunikatów debugowania
Jak to zrobić:
fn main() {
let debug_variable = "Hello, Rust!";
println!("Debug info: {:?}", debug_variable);
}
Wynik:
Debug info: "Hello, Rust!"
Użyj {:?}
w makrze println!
dla prostego debugowania.
Deep Dive
Debugowanie wywodzi się z czasów wcześniejszych komputeryzacji, gdy “debugowanie” dosłownie oznaczało usuwanie owadów z maszyn. W Rust, wykorzystujemy println!
z różnymi formatterami ({}
, {:?}
, {:#?}
itp.) dla różnych celów. Alternatywy to logowanie i używanie narzędzi jak gdb
czy lldb
.
Implementacyjnie, Rust używa derive macro Debug
dzięki #[derive(Debug)]
, by automatycznie generować implementację formatowania dla dowolnego typu strukturalnego. Jest to zgodne z ideami zero-cost abstractions i kompilacji warunkowej.
Zobacz także:
- Dokumentacja Rust: https://doc.rust-lang.org/std/fmt/
- Guide to Rustc’s diagnostics: https://rustc-dev-guide.rust-lang.org/diagnostics.html
- The Rust Programming Language – Printing Debug Info: https://doc.rust-lang.org/book/ch5-02-example-structs.html