This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: Breakpoints and multi-process using the same binary
> -----Original Message-----
> From: Pedro Alves [mailto:pedro@codesourcery.com]
> Sent: Monday, April 11, 2011 1:16 PM
> To: gdb@sourceware.org
> Cc: Marc Khouzam
> Subject: Re: Breakpoints and multi-process using the same binary
>
> On Monday 11 April 2011 15:52:45, Marc Khouzam wrote:
> > Hi,
> >
> > the next release of Eclipse CDT will make use of GDB's great
> > multi-process (multi-exec) support. Nice work!
> >
> > Quick question about breakpoints in that case (with non-stop).
> > I'm trying to set a breakpoint in a process that has one
> > thread stopped. The problem is that there is another
> > process fully running, which uses the same binary
> > (parent/child of a fork()).
> >
> > From what I can see, I cannot set such a breakpoint without
> > interrupting a thread for each and every process sharing the
> > binary.
> >
> > I just wanted to confirm that this was the right behavior
> > for GDB.
>
> Yeah, it's a current limitation. I've looked at this a
> bit after Tom reporting some other multi-process breakage, and
> it didn't look like a quick fix. You may not need that
> against linux gdbserver since it allows reading/writing
> memory even when threads are running, while native linux gdb
> doesn't.
Thanks for mentioning that, I was not aware of it, but did
confirm it just now. I was able to set a breakpoint while
the inferior was completely running using gdbserver, but
only with GDB 7.3 (even 7.2.1 didn't support it).
For native gdb (or pre-7.3), I'll have to interrupt a thread
for every process before dealing with breakpoints.
(I could be more efficient and look for processes that have
the same executable, but I won't break my head over that
small optimization).
> We're likely to get to fix all of this for
> proper ptsets/itsets support (which we'll be starting
> on real soon).
Looking forward to it.
Thanks for the quick answer.
Marc