This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Single stepping and threads
On Wed, 2006-11-29 at 08:25 -0500, Daniel Jacobowitz wrote:
> On Tue, Nov 28, 2006 at 09:59:15PM -0800, Joel Brobecker wrote:
> > > A related issue is the tendency of "step" to let other threads run even
> > > in "set scheduler-locking step". For instance:
> > [...]
> > > - "step" acts like "next" when stepping over a function without debug
> > > info. Should we honor "set scheduler-locking step" when doing
> > > this?
> >
> > I would say yes. A step should be a few instructions, while stepping
> > over a call is potentially a much larger number of instructions.
> > As a result, stepping over without letting the other threads go would
> > more likely cause a lock.
>
> I think you mean "no" then?
>
> > PS: My understanding is that not all systems support the running
> > of an individual thread instead of the entire program. Is that
> > right? Or do all systems support this feature?
>
> I'm really not sure.
Not all systems support the "set scheduler-locking" command.
There is a target-vector element that tells gdb whether the
command is implemented or not.
If it isn't implemented, failure will be "clean".
> I assume there were systems that didn't support
> it when it was added; there are probably some still, but I don't know
> any personally.
grep for tc_schedlock, which is only mentioned in linux-nat.c,
procfs.c, and remote.c. I believe remote.c probes the target
to find out if it can support schedlock.