public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@ericsson.com>
To: <gdb-patches@sourceware.org>
Cc: Simon Marchi <simon.marchi@ericsson.com>
Subject: [PATCH 0/2] Two MI changes related to separate UIs
Date: Mon, 01 Aug 2016 21:14:00 -0000	[thread overview]
Message-ID: <20160801211401.18155-1-simon.marchi@ericsson.com> (raw)

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

             reply	other threads:[~2016-08-01 21:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01 21:14 Simon Marchi [this message]
2016-08-01 21:15 ` [PATCH 2/2] mi: Add launch-type={run,attach} in =thread-group-started Simon Marchi
2016-08-02 14:49   ` Eli Zaretskii
2016-08-02 15:55     ` Simon Marchi
2016-08-17 20:17   ` Simon Marchi
2016-08-01 21:15 ` [PATCH 1/2] mi: Restore original thread/frame when specifying --thread or --thread-group Simon Marchi
2016-08-02 14:49   ` Pedro Alves
2016-08-02 17:45     ` Simon Marchi
2016-08-02 22:32       ` Simon Marchi
2016-08-03 13:41         ` Pedro Alves
2016-08-03 22:24           ` Simon Marchi
2016-08-05 17:26             ` Pedro Alves
2016-08-05 21:01               ` Simon Marchi
2016-08-17 20:24                 ` Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160801211401.18155-1-simon.marchi@ericsson.com \
    --to=simon.marchi@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).