This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
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:
http://sourceware.org/ml/gdb/2006-01/msg00330.html
? 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 @@
}
else
{
+ 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);