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
