July 24, 2026

Bug hunter becomes the bug drama

Writing a Debugger from Scratch

Ex-Microsoft engineer builds a debugger for fun, and the comments spiral fast

TLDR: A former Microsoft engineer is building a debugger from scratch in Rust to learn the language and teach others how these behind-the-scenes tools work. The comments quickly became the real show, with readers arguing over missing sequel posts, swapping rival learning resources, and laughing over the all-time nerd nightmare: debugging the debugger itself.

A former Microsoft debugging expert has done the most programmer thing imaginable: left the team, then immediately started building yet another debugger from scratch—this time in Rust, mainly to learn the language and to show ordinary mortals how these tools actually work. In simple terms, a debugger is the thing developers use to pause a program, peek inside, and figure out why it’s misbehaving. The post itself is calm, practical, and educational. The comments? Not calm at all.

The strongest reaction was basically: “Great post, but where’s the rest of it?” One reader jumped in to point out this entry is actually from 2023 and that there are already eight follow-up posts hiding elsewhere on the author’s site, which sparked mild comment-section detective work and a little frustration over missing links. Another camp instantly turned the thread into a recommendation war, tossing out No Starch’s debugger book and Eli Bendersky’s Linux article series like they were building a starter pack for aspiring code sleuths.

And then came the real crowd-pleaser: the debugger-ception story. One commenter recalled friends building a debugger for OS/2, then using that debugger on itself—aka debugging the debugger—only to hit bugs while debugging the bug-finder. That little tale absolutely stole the mood of the thread: equal parts admiration, chaos, and “this is why programmers can’t be left unsupervised.” So yes, the article is about building a tool. But the comments made it a comedy about obsession, recursion, and the internet’s eternal need to post “actually, here are five more links.”

Key Points

  • The project is a new from-scratch debugger written in Rust, motivated by both Rust learning and debugger education.
  • The author intends to focus on core debugger ideas while using existing Rust crates for tasks such as symbols and disassembly.
  • The series begins with live user-mode debugging on Windows, though the author says the core concepts apply across operating systems.
  • The article distinguishes low-level Windows debugging APIs from higher-level interfaces such as DbgEng and IDebugClient, and chooses the low-level path.
  • A live debugger is described as an event loop in which the debugger attaches to a process, receives debug events, inspects or changes process state, and continues execution.

Hottest takes

"they're all currently listed on his main page" — Cieric
"Debugging the debugger" — whartung
"there's this excellent series of articles" — zzril
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.