This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Single stepping and threads
- From: Daniel Jacobowitz <drow at false dot org>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: Michael Snyder <Michael dot Snyder at palmsource dot com>, gdb at sourceware dot org
- Date: Thu, 30 Nov 2006 20:01:50 -0500
- Subject: Re: Single stepping and threads
- References: <20061129052942.GA16029@nevyn.them.org> <20061129055915.GM9968@adacore.com> <20061129132535.GA28834@nevyn.them.org> <20061129163844.GN9968@adacore.com> <1164929776.14460.36.camel@localhost.localdomain> <20061130235515.GI3491@adacore.com>
On Thu, Nov 30, 2006 at 03:55:15PM -0800, Joel Brobecker wrote:
> > Default on would be a disaster -- most threaded programs would
> > not behave even remotely the same under the debugger as they would
> > solo.
> >
> > In fact, many would deadlock almost immediately.
>
> Something just occured to me that was clear but maybe isn't. Is the
> scheduling affected when you do a "continue"? I assumed that, if you
> do a "run" or "continue", the actual scheduling policy is irrelevant,
> and all threads are resumed.
No, the options are basically never, PTRACE_SINGLESTEP only, or
PTRACE_SINGLESTEP and PTRACE_CONT. With "on", no other thread ever
runs. It's only useful in very specific cases.
An option different to any of the ones we've discussed so far, but that
I think you're expecting from the current "on", would be one that only
applies to the step and next commands. I still think "step" is more
useful a default than we have now, though.
--
Daniel Jacobowitz
CodeSourcery