

Debugger-Driven Development
22 snips Jun 16, 2025
Dave Pacheco and John Gallagher, both Oxide colleagues, share their expertise in debugging tools and system development. They discuss the revolutionary concept of debugger-driven development, showcasing how tools like MDB and OMDB enhance system performance. The conversation also touches on managing dynamic changes in systems with the Reconfigurator and emphasizes the importance of collaboration in debugging practices. Their insights reveal how innovation and effective tool creation can significantly streamline development processes.
AI Snips
Chapters
Transcript
Episode notes
MDB's Modular Debugger Innovation
- MDB debugger innovated with modules written in C that allowed deep, application-specific introspection of kernel data structures.
- It enabled pipelines and walkers to compose complex queries, revolutionizing system debugging capabilities early on.
Co-developing Debugger & Cyclics
- Bryan Cantrill developed debugger commands alongside the Cyclics subsystem to validate internal timer state during system development.
- This co-development accelerated the system's creation by integrating debugging support from the start.
OMDB Enables Distributed Debugging
- OMDB was designed as a debugger for distributed systems, fetching state via cooperating components rather than attaching like traditional debuggers.
- This approach enabled monitoring and debugging across multiple nodes where direct process attachment is impractical.