headcrab-rs / headcrab

A modern Rust debugging library 🦀
https://headcrab.rs
Other
887 stars 32 forks source link

Implement gdb remote debugging protocol #88

Open bjorn3 opened 4 years ago

bjorn3 commented 4 years ago

We could use https://github.com/luser/rust-gdb-remote-protocol for this.

nbaksalyar commented 4 years ago

I'd also suggest looking into https://github.com/daniel5151/gdbstub

JJendryka commented 4 years ago

I would like to tackle this

nbaksalyar commented 4 years ago

Updating for triage. @JJendryka, please let me know if you would like to continue working on this. Also, @blitzerr was interested in cooperating.

daniel5151 commented 4 years ago

Howdy, author of gdbstub here :wave:

Just wanted to pop in and say that I'd love to see gdbstub integrated into headcrab! I think it'd be an excellent way to stress-test gdbstub and validate the library's current feature set and API design. I've primarily been writing and testing gdbstub with emulation/virtualization + bare metal in mind, so it would be great to have downstream consumer that uses the library for process-level debugging.

I just released gdbstub version 0.4, which introduced a brand new API + a bunch of new features. I am well aware that my library is still missing a couple of key features required for process-level debugging (notably, support for GDB's "Non-Stop" debugging mode), but truth be told, it's kind-of difficult to implement these features without having a project to test them out with :sweat_smile:.

I'm more than happy to answer any/all questions about gdbstub, and to work with someone from headcrab to add any missing features / APIs to gdbstub.

Cheers!

blitzerr commented 4 years ago

@daniel5151 That is awesome. I will definitely have questions for you :) I will start on this weekend.