This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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:

? 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);
          /* See if there is a breakpoint at the current PC.  */
          stop_bpstat = bpstat_stop_status (stop_pc, ecs->ptid);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]