Closed derekparker closed 1 month ago
Did you test these changes with rr? If not I will.
There's some failures on the rr backend, I'm working to address those now.
I'm actually seeing failures already with RR on our latest tagged version with the latest RR:
We should create a separate issue to track this. In the meantime I can restrict my changes to only run when we have a debugserver backend (non-rr). We really need a builder for RR but that is kind of difficult due to limitations around RR in virtualized environments.
Created https://github.com/go-delve/delve/issues/3717 for RR failures not related to this PR.
This change optimizes the gdbwire backend by reducing the number of round trips we have to make to debugserver. It does this by using the jstopinfo packet to only query threads which we know to have a stop reason, and it also uses the registers returned by the 'T' packet to avoid issuing a bunch of 'p' packets to get the register values.