This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] Two MI changes related to separate UIs


Hi all,

We are pretty much done integrating a native GDB console in Eclipse CDT, using
the new separate UI feature.  Doing so, we found a few issues that would need
to be fixed in order to provide a good enough user experience.  The two most
important ones, addressed by these patches, are:

  1. When it receives a =thread-group-started, the front-end doesn't know whether
     the process was started or attached.  This makes it difficult to correctly
     handle a user typing run/start/attach from the console.
  2. When the front-end issues some MI commands with --thread or --thread-group,
     the GDB selected thread is changed but is not restored.  The selected thread
     in the console can then appear to change unexpectedly from the point of
     view of the user.

We were hoping to get those two changes in GDB 7.12.  The idea is that the
separate UI feature was merged in GDB during this development cycle, and these
issues (especially the second one) would severely impact its usefulness.

There is another patch in the pipeline, although not as critical.  We would
like to implement two-way synchronisation of the GUI threads view and the
command line, which means that clicking on a thread in the GUI will select that
thread in the GDB console, and switching thread in the GDB console will select
that thread in the GUI.  The =thread-selected event has some issues which
prevent us from doing it right now.  For example, the event is not sent on all
UIs and it's not sent at all when the thread is changed from CLI.  It would be
nice if we could fix this in 7.12, but if that is too much of a stretch, we
could integrate the console without synchronisation first, and add
synchronisation later when those issues are fixed in GDB.

Simon

Simon Marchi (2):
  mi: Restore original thread/frame when specifying --thread or
    --thread-group
  mi: Add launch-type={run,attach} in =thread-group-started

 gdb/NEWS                           |  3 +++
 gdb/darwin-nat.c                   |  2 +-
 gdb/doc/gdb.texinfo                |  6 +++--
 gdb/gnu-nat.c                      |  2 +-
 gdb/inf-ptrace.c                   |  2 +-
 gdb/mi/mi-interp.c                 |  6 +++--
 gdb/mi/mi-main.c                   | 20 +++++++----------
 gdb/nto-procfs.c                   |  4 ++--
 gdb/procfs.c                       |  2 +-
 gdb/remote.c                       |  3 ++-
 gdb/testsuite/gdb.mi/mi-attach.c   | 31 +++++++++++++++++++++++++
 gdb/testsuite/gdb.mi/mi-attach.exp | 46 ++++++++++++++++++++++++++++++++++++++
 gdb/windows-nat.c                  |  2 +-
 13 files changed, 105 insertions(+), 24 deletions(-)
 create mode 100644 gdb/testsuite/gdb.mi/mi-attach.c
 create mode 100644 gdb/testsuite/gdb.mi/mi-attach.exp

-- 
2.9.2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]