Hi Roque,

On 6/9/24 19:54, Roque Arcudia Hernandez wrote:
In the context of using the remote gdb with multiple
processes/inferiors (multiple cluster machine) a given breakpoint
will target an specific inferior. If needed the remote protocol will
use the packet 'H op thread-id' with op = 'g' to change focus to the
inferior we want to insert/remove the breakpoint to, for instance
'Hgp3.3' and not 'Hcp3.3'.

This is supported by the documentation of the H packets:

  > 'H op thread-id'
  > Set thread for subsequent operations ('m', 'M', 'g', 'G',
  > et.al.). Depending on the operation to be performed, op should be
  > 'c' for step and continue operations (note that this is
  > deprecated, supporting the 'vCont' command is a better option),
  > and 'g' for other operations.

This can also be verified in the GDB source code file gdb/remote.c.
Functions remote_target::insert_breakpoint and
remote_target::remove_breakpoint will eventually call
remote_target::set_general_thread if it needs to change the process
focus and not remote_target::set_continue_thread.

This can be seen around a comment that says:

       /* Make sure the remote is pointing at the right process, if
          necessary.  */

Google-Bug-Id: 355027002

Where can we find more information on this bug ID?
I tried various query in the Google public tracker but
couldn't find anything.
(i.e. https://issuetracker.google.com/issues?q=canonicalid:355027002)

Signed-off-by: Roque Arcudia Hernandez <roq...@google.com>
---
  gdbstub/gdbstub.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)


Reply via email to