This talk explains how Rust debugging actually works: how compiler-generated debuginfo (DWARF/PDB) maps binaries back to source, and how LLDB/GDB interpret that data in practice.

Debugging Rust can feel opaque when traditional C/C++ debuggers misread enums, traits, and other Rust features. This talk explains how Rust debugging actually works: how compiler-generated debuginfo (DWARF/PDB) maps binaries back to source, and how LLDB/GDB interpret that data in practice. We’ll compare vanilla setups with Rust-specific extensions like pretty-printers, showing why they’re essential for inspecting Option, Result, and collections accurately. You’ll learn the real limits of expression evaluation (including why Debug/Display impls aren’t usable in-session yet) and what emerging techniques, such as compiling expressions to MIR (mid-level intermediate representation), promise for the future. We’ll finish with a practical troubleshooting checklist for breakpoints that don’t hit, variables that “disappear,” mysterious garbage values, and sluggish sessions. Whether you mostly rely on println! or regularly step through threads and stack frames, you’ll leave with a clearer mental model and concrete tactics to make interactive debugging a daily tool, not a last resort.
This case study explores how Rust enables a single project to power embedded devices, high-performance client-side web simulators for training, and scientific workflows in Python.
In 2024, I added the `Option::as_slice` and `Option::as_mut_slice` methods to libcore. This talk is about what motivated the addition, and looks into the no less than 4 different implementations that made up the methods. It also shows that even without a deep understanding of all compiler internals, it is possible to add changes both to the compiler and standard library.
In my session, I want to present hotpath and channels-console libraries and explain how they compare to other profiling tools available.
I'll initiate you in the art of 'CAN bus sniffing': Connecting to the central nervous system of a modern car, interpreting the data, and seeing what we can build as enthousiastic amateurs.
I contributed LTO-related changes to many open-source projects, and had a lot of interesting discussions with their maintainers about LTO. In this talk, I want to share with you my experience.