From: Jonathan Larmour <jlarmour@redhat.com>
To: David Smith <dsmith@redhat.com>
Cc: gdb@sources.redhat.com
Subject: Re: Thread switching and stepping bug
Date: Tue, 01 May 2001 18:37:00 -0000 [thread overview]
Message-ID: <3AEF64C7.790438AB@redhat.com> (raw)
In-Reply-To: <3AE57FA9.5090009@redhat.com>
David Smith wrote:
>
> Jonathan,
>
> If I understand you correctly, you may have hit a problem I'm familiar with.
> Basically your target (which you didn't mention) hasn't implemented
> PREPARE_TO_PROCEED which gets called in infrun.c. I submitted a patch back
> at the end of March to implement a generic PREPARE_TO_PROCEED which should
> work for most targets.
>
> For more details, here's the start of the thread where we discussed this:
>
> < http://sources.redhat.com/ml/gdb-patches/2001-03/msg00541.html >
I've gone through it again with current CVS GDB, and I'm afraid there's no
change in behaviour. I was slightly wrong in my description below actually.
All that's needed is actually:
b breakme
c
[ hits breakpoint in thread 3 ]
thread 5
step
I've already tried to debug it but got lost in wait_for_inferior(). Perhaps
someone could give me an idea what should be the correct course of events
in wait_for_inferior() in the above situation after the final step, and I
can compare with what happens?
Thanks,
Jifl
> Jonathan Larmour wrote:
>
> > It seems GDB (a fairly recent CVS) doesn't do the right thing when a thread
> > view has been switched and then the system stepped.
> >
> > I've got a program with a bunch of threads. The default one is thread 3 and
> > has a function breakme which I set a breakpoint. The other threads run
> > other stuff.
> >
> > If I set a breakpoint on breakme, thread 3 hits it. If I manually step off
> > that breakpoint, switch to e.g. thread 5 then do another step, GDB can't
> > recognise that it hit a sensible breakpoint, and instead reports a SIGTRAP.
> >
> > So the commands I'm doing are:
> >
> > b breakme
> > c
> > [ hits breakpoint in thread 3]
> > step
> > thread 5
> > step
> >
> > I'm surprised no-one has noticed this before, so is my understanding wrong?
> >
> > I've tried looking in wait_for_inferior() but got lost quickly :-). I think
> > the problem may be that step_resume_breakpoint is changed when GDB notices
> > the thread has changed. But I'm no expert.
> >
> > Jifl
>
> --
> David Smith
> dsmith@redhat.com
> Red Hat, Inc.
> http://www.redhat.com
> 256.704.9222 (direct)
> 256.837.3839 (fax)
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
next prev parent reply other threads:[~2001-05-01 18:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-24 2:06 Jonathan Larmour
2001-04-24 6:33 ` David Smith
2001-04-24 8:14 ` Jonathan Larmour
2001-05-01 18:37 ` Jonathan Larmour [this message]
2001-05-02 6:30 ` David Smith
2001-05-03 17:32 ` Andrew Cagney
2001-05-04 8:28 ` David Smith
2001-05-10 8:33 ` Andrew Cagney
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=3AEF64C7.790438AB@redhat.com \
--to=jlarmour@redhat.com \
--cc=dsmith@redhat.com \
--cc=gdb@sources.redhat.com \
/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