I haven't seen this.

Set a breakpoint in both of the following functions:

b ThreadList::SetSelectedThreadByID
b ThreadList::SetSelectedThreadByIndexID

You should be able to catch who is setting this incorrectly.

Greg


On Oct 11, 2013, at 3:04 PM, Richard Mitton <[email protected]> wrote:

> 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

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

Reply via email to