[PATCH] Add gdb remote protocol handling to strace

Stan Cox scox at redhat.com
Thu Sep 13 02:15:38 UTC 2018

This is the latest version of the gdbserver backend patch.  It
integrates Eugene's ptrace instantiation of the backend dispatch
mechanism added for the gdbserver backend.  It is a large patch
but much of it is boilerplate changes due to adding and use of the 
tracing_backend struct.  The code is located on the branch 'gdbserver0' 
in the repository:

(I posted this a while back but it did not make it to the list)

configure*: configure support

  struct tracing_backend:  backend dispatch table.   All of the 
  versions of these routines are independent and self contained except
  for get_regs which needs access to the register structures
  Any change not mentioned is only a change to allow for calling via a
  backend routine

  ptrace instantiation of tracing_backend.  It dispatches to existing 

  dispatch to the ptrace_* routines defined in ptrace_backend.h
  Add 'G' option to indicate how to connect to gdbs backend
  start_init invokes gdbserver, startup_child, startup_attach (via
  attach_tcb) start or connect to the child,
  invoke backend.get_regs, which needs to access the iovec.  gdbserver
  does not require a separate routine to get the syscall number.
  New test

  the gdbserver of the backend methods are defined here.  Communicates
  with gdbserver via the gdb remote protocol and converts to the
  packets that strace expects.  gdbserver has a syscall mode that
  returns information on syscalls via stop packets.  gdbserver has two
  protocol modes, all stop and non stop; both are supported.
  support routines: gdb remote packets are deciphered here
  gdb to native signal translation
  Gets the register set from gdbserver and converts to strace structures.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdb-pt-be.patch
Type: text/x-patch
Size: 162589 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20180912/0522552a/attachment.bin>

More information about the Strace-devel mailing list