Breakpoints and multi-process using the same binary

Marc Khouzam
Mon Apr 11 18:05:00 GMT 2011

> -----Original Message-----
> From: Pedro Alves [] 
> Sent: Monday, April 11, 2011 1:16 PM
> To:
> 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.


More information about the Gdb mailing list