GOTO - The Brightest Minds in Tech

Building a Debugger • Sy Brand & Tim Misiak

Sep 19, 2025
In this engaging discussion, Sy Brand, a C++ developer advocate at Microsoft and author, shares his expertise on debugger construction. He highlights the complexities of core debugging tasks like stack unwinding and the evolution of debugging tools across platforms. The conversation dives into the challenges of maintaining backward compatibility and the intricacies involved in language design, along with exciting advancements like time travel debugging for non-deterministic issues. Tune in for insights that blend technical depth with practical advice!
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
INSIGHT

Debugger Development Reveals System Internals

  • Implementing a debugger teaches how hardware, OS, and toolchains interact in practice.
  • That knowledge helps both systems programmers and developers use debuggers more effectively.
ADVICE

Use Memory Breakpoints To Catch Corruption

  • Use memory access breakpoints to find who mutates a memory location.
  • Set breakpoints on reads or writes to catch corruptions at the moment they occur.
INSIGHT

Stack Unwinding Is Surprisingly Complex

  • Real-world stack unwinding is far more complex than frame-pointer walking.
  • DWARF encodes a Turing-complete unwinding language that makes unwinding tricky and fascinating.
Get the Snipd Podcast app to discover more snips from this episode
Get the app