This is the mail archive of the
mailing list for the GDB project.
RE: Is there a convenience variable for the current thread?
> -----Original Message-----
> From: firstname.lastname@example.org
> [mailto:email@example.com] On Behalf Of Vladimir Prus
> Sent: February-24-10 1:19 AM
> To: firstname.lastname@example.org
> Subject: Re: Is there a convenience variable for the current thread?
> Marc Khouzam wrote:
> > Hi,
> > I would like to disable a breakpoint for a single thread.
> > I don't believe there is a way to do that directly in GDB,
> so someone
> > suggested I use a breakpoint condition:
> >> break myMultiThreadProg:10
> >> cond $threadId != 2
> > Is there a way to access the threadId in such a condition
> > Thanks
> > Marc
> > P.S. This is different than setting thread-specific
> breakpoints on all
> > threads except thread 2, because I need the breakpoint to work on
> > threads that are not yet created.
> Like proposed here:
That's exacly it.
Too bad there is nothing we can do about older versions of GDB.
> ? Here's a patch, but I have no idea if it still applies.
> - Volodya
> Set the $thread variable when stopping.
> * infrun.c (handle_inferior_event): The change.
> Index: gdb/infrun.c
> --- gdb/infrun.c (revision 10998)
> +++ gdb/infrun.c (revision 10999)
> @@ -1993,6 +1993,10 @@
> + set_internalvar (lookup_internalvar ("thread"),
> + value_from_longest (builtin_type_int,
> + (LONGEST)
> + inferior_ptid.pid));
> /* See if there is a breakpoint at the current PC. */
> stop_bpstat = bpstat_stop_status (stop_pc, ecs->ptid);