luser / rust-gdb-remote-protocol

A Rust crate implementing the GDB Remote Serial Protocol
Apache License 2.0
33 stars 13 forks source link

Error if multiprocess not supported #28

Open tromey opened 6 years ago

tromey commented 6 years ago

I think the current plan is to only support the multiprocess extensions. So, we should error if the client does not send the multiprocess feature in the initial feature query packet.

tromey commented 6 years ago

We can't do this, since lldb doesn't support this extension. I think it's fine to continue parsing multiprocess thread-ids unconditionally, but we should be more careful with the responses we send. Some investigation is needed to see how lldb represents threads - like maybe it sends the TID as the PID?

tromey commented 6 years ago

See https://github.com/tromey/rust-gdb-remote-protocol/tree/client-state

However it's up to the library user to know whether multiple processes are supported, and that branch doesn't yet expose the information. So, a bit more work has to be done.