Fork me on GitHub

A simple x86_64 debugger written with ptrace and Udis86


This was an exercise in learning ptrace for an assignment that lead to a curiosity about how modern debuggers trace code.


db supports single-stepping through assembly, disassembling single instructions, reading and writing arbitrary registers, and reading and writing arbitrary memory locations. It also supports intercepting and squashing signals before they reach the traced process.