drgn
drgn copied to clipboard
Support attaching to QEMU, kgdb, and other gdbstub targets
The GDB Remote Serial Protocol is implemented by several debugging targets, including kgdb for the Linux kernel and QEMU. These targets are especially useful for development workflows (as opposed to debugging in production).
Basic support will require implementing alternate backends for at least the following components of drgn:
- Debug info discovery. (The protocol doesn't allow for automatic discovery, so this will likely need to be somewhat manual and depend on #332).
- Memory reading.
- Threads.
The more exciting features will require new interfaces:
- Thread events (see #171).
- Breakpoints.
- Memory writing (see #323).
This would also likely unlock support for https://github.com/rr-debugger/rr, which I have found to be an invaluable tool when debugging user-space issues.