# Building a Debugger

No Starch (2024). Sy Brand (Microsoft, C++ committee) walks the reader through building a working Linux debugger in C++: ptrace, breakpoints (software and hardware), single-stepping, DWARF unwinding, source-line mapping, expression evaluation. The closest thing to a modern equivalent of writing your own shell — the kind of one-tool-project that exposes what an OS actually exposes. On the [[eatonphil-bookclub]] speculative future list.

Related: [[syscall-binary-rewriting]].
