Beyond println!: Mastering Rust Debugging
summary
Explains how DWARF/PDB maps binaries to source and how LLDB/GDB actually interpret that data, showing 54% use println as the current reality, and demonstrating rust tooling: vanilla LLDB shows raw memory objects, rust-lldb pretty printers (Python scripts and a JetBrains fork) render Option/Vec nicely, and a MIR-based evaluation prototype compiles expressions at debug time to evaluate more Rust expressions; many features work partially but ubiquitous issues remain (missing debug info, optimizer elisions, filename mismatches).
AI-written summary Β· about
chapters (16)
- 0:00Introduction
- 1:50Current Rust debugging habits
- 3:58What debugging Rust requires
- 8:56Debug info formats and tools
- 11:44Debugging with LLDB
- 15:59Why Rust LLDB matters
- 17:04History of Rust debugger support
- 19:34Challenges of pretty printers
- 21:23How pretty printers work
- 23:59Limitations of Rust LLDB
- 24:21Why debug instances aren't used
- 25:27Evaluating expressions
- 27:57Partial compilation for evaluation
- 29:46Common debugger limitations
- 31:10Arguments for interactive debugging
- 32:15Call to action
related talks
41mDemistifying Rust Debugging
27mClosing Keynote
06mβRustRover in 2025: Code β’ Debug β’ AIβ
25mMaking Tools for Rust: An Introduction to the Compiler and How It Can Help You
25m"Compiler-Driven Development: Making Rust Work for You"
40mWe deserve helpful tools
56mReady for Rust
57mDTrace for Rust... and everything else too!
