Hi,

I'm running into an issue on Linux where hitting a breakpoint won't change the currently selected thread index to that thread: Notice in this example how the current thread is #1, even though the breakpoint hit on thread #2. I only have one breakpoint set, and thread #2 is the only thread anywhere near that breakpoint.

   (lldb) b main.c:21
   (lldb) run
   Process 12353 stopped
   thread #2: tid = 12357, 0x000000000040076a 
a.out`fn_static(param=0x0000000000000000) + 30 at main.c:21, name = 'a.out', 
stop reason = breakpoint 1.1
        frame #0: 0x000000000040076a a.out`fn_static(param=0x0000000000000000) 
+ 30 at main.c:21
       18   {
       19           var_static *= 2;
       20           for(;;)
   -> 21                   usleep(1); // thread breakpoint
       22   }
       23
       24   int main (int argc, char const *argv[])
   (lldb) thread list
   Process 12353 stopped
   * thread #1: tid = 12353, 0x00007f0d8e31cd3d libc.so.6`nanosleep + 45, name 
= 'a.out'
      thread #2: tid = 12357, 0x000000000040076a 
a.out`fn_static(param=0x0000000000000000) + 30 at main.c:21, name = 'a.out', 
stop reason = breakpoint 1.1

Somewhat annoyingly, this only fails when inside a unit test, and works fine from the command-line.
Has anyone seen anything like this before?

--
Richard Mitton
[email protected]

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to