Project to explore how debuggers work, DWARF and maybe end up with a new debugger.
The project is organized roughly as follows: format/dwarf contains all the bits necessary to parse DWARF (2) debug info. The trace module provides an API to interact with a process tracer, with bindings for different OS's implementing a common API. For Linux, ptrace(2) is used, but this could be different for other OS's.
The cmd/hadb application provides a debugger that uses the trace module to interact with the tracee.
Extending hadb to work with other tracers should consist of adding a new variant to the trace module and implement the API outlined in trace/lib.ha.