I spent 6 months building a C debugger as a 17-year-old

Spray is a simple and easy-to-use debugger for C code that aims to make debugging more approachable. The tool allows users to control the execution of running programs, inspect their state, and make modifications. It offers features such as breakpoints on functions, lines in files, and addresses, printing and setting variables, memory, and registers, as well as C syntax highlighting and backtraces. The future roadmap includes plans for printing and modifying complex structures, using DWARF for backtraces, loading external libraries, and catching signals. Installation of Spray requires CHICKEN Scheme and libdwarf, and running the tool requires debug information enabled and using Clang. Spray’s REPL offers various commands for interacting with the program, such as reading and writing values, setting breakpoints, and stepping through the code. Filters can be used to format output, and contributions to the project are welcome.

https://github.com/d4ckard/spray

To top