Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Vladimir Prus <vladimir@codesourcery.com>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: gdb@sources.redhat.com
Subject: Re: MI non-stop mode spec
Date: Sun, 23 Mar 2008 05:18:00 -0000	[thread overview]
Message-ID: <200803222033.11760.vladimir@codesourcery.com> (raw)
In-Reply-To: <18404.21429.467420.339546@kahikatea.snap.net.nz>

On Saturday 22 March 2008 03:32:53 Nick Roberts wrote:
>  > >  > Didn't you check in a patch to make *-varobjs be found to a
>  > >  > thread?
>  > >
>  > > I submitted a patch earlier this year that stopped thinking that
>  > > a variable object had gone out of scope if the thread changed
>  > > but nothing happened.
>  >
>  > Can you resend the current version of that patch, and I'll take a
>  > look.
>
> I used pid_to_thread_id (inferior_ptid) for the thread_id, just as
> infrun.c does for *stopped.  I think that the thread_id problem for
> single/multi-threaded programs should be fixed first (perhaps along
> the lines Daniel suggested).

Dan's patch is in, however, it only affects Linux. I suspect in might
be a long time till the problem is solved on all system. Until then,
we probably should assume that if thread list is empty, then the 
program is ST and never will become MT.

I happen to be working on variable objects for non-stop now, so I'll
play with the last version of your patch that you have posted.

>  > > Also GDB loses sense of the selected frame: if you change to a
>  > > different thread and back again you always get back to the
>  > > innermost (= current) frame.  So that makes it difficult to get
>  > > USE_SELECTED_FRAME to work in the multi-threaded case.
>  >
>  > I think that the syntax mentioned above will get around that. When
>  > GDB evaluates
>  >
>  > 	-var-update --thread 2 --frame 5 @
>  >
>  > it switches to thread (which selects frame 0) and then immediately
>  > selects frame 5, so by the time we evaluate expression, we're
>  > in the right thread and frame.
>
> Perhaps we're miscommunicating.  I mean if the user wants the
> variable object to "float" with the selected frame, he can't change
> threads because GDB will forget which frame was the selected frame. 
> In other words, I think that, in a stateful GDB, get_selected_frame
> needs to be fixed.

Maybe we're looking at it from different perspectives. I think
that frontend can, and probably should, maintain its own notion
of selected frame for each thread. Then, the @ variables can
be re-evaluated in whatever thread/frame is current from frontend
point of view.

- Volodya





  reply	other threads:[~2008-03-22 17:33 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-19  2:49 Vladimir Prus
2008-03-19  6:26 ` Nick Roberts
2008-03-19  9:14   ` Vladimir Prus
2008-03-19 10:02     ` Nick Roberts
2008-03-19 11:10       ` Vladimir Prus
2008-03-19 12:30         ` Nick Roberts
2008-03-19 13:43           ` Vladimir Prus
2008-03-19 20:44       ` Michael Snyder
2008-03-19 11:20     ` Bob Rossi
2008-03-19 11:16 ` Bob Rossi
2008-03-19 12:01   ` Vladimir Prus
2008-03-19 13:50     ` Bob Rossi
2008-03-19 14:07       ` Vladimir Prus
2008-03-19 14:33         ` Bob Rossi
2008-03-19 16:09           ` Vladimir Prus
2008-03-20 18:22 ` Marc Khouzam
2008-03-20 20:02   ` Vladimir Prus
2008-03-21  9:11   ` Nick Roberts
2008-03-21  9:48     ` Vladimir Prus
2008-03-21 18:13       ` Nick Roberts
2008-03-22  0:33         ` Vladimir Prus
2008-03-23  4:41           ` Nick Roberts
2008-03-23  5:18             ` Vladimir Prus [this message]
2008-03-23  9:25               ` Nick Roberts
2008-03-24  5:44                 ` Vladimir Prus
2008-03-24  7:05                   ` Thread bound variable objects [was: Re: MI non-stop mode spec] Nick Roberts
2008-03-24  7:18                     ` Vladimir Prus
2008-03-24 11:04                       ` Nick Roberts
2008-03-24 14:38                         ` Vladimir Prus
2008-03-25  6:28                       ` Thread bound variable objects Nick Roberts
2008-03-25 11:34                         ` Daniel Jacobowitz
2008-03-21 11:52 ` MI non-stop mode spec Vladimir Prus
2008-03-24 23:14   ` Daniel Jacobowitz
2008-03-25 17:46     ` Vladimir Prus
2008-03-22 17:33 ` Pawel Piech
2008-03-24  4:03   ` Nick Roberts
2008-03-24 17:22     ` Pawel Piech
2008-03-24 20:23       ` Vladimir Prus
2008-03-25  2:14       ` Nick Roberts
2008-03-24 18:38   ` Vladimir Prus
2008-03-24 21:25     ` Pawel Piech
2008-03-24 21:46       ` Vladimir Prus
2008-03-24 22:28         ` Pawel Piech
2008-03-25 12:30           ` Vladimir Prus
2008-03-25 18:30             ` Pawel Piech
2008-03-27 14:13               ` Vladimir Prus
2008-03-27 19:39                 ` Pawel Piech
2008-03-25 21:28             ` Nick Roberts
2008-03-26 13:03               ` Pawel Piech
2008-03-25  1:00   ` Daniel Jacobowitz
2008-03-25 18:18     ` Pawel Piech
2008-03-30 21:36       ` Pawel Piech

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=200803222033.11760.vladimir@codesourcery.com \
    --to=vladimir@codesourcery.com \
    --cc=gdb@sources.redhat.com \
    --cc=nickrob@snap.net.nz \
    /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