[lldb-dev] Breakpoint hitting on wrong thread

Richard Mitton richard at codersnotes.com
Fri Oct 11 15:04:45 PDT 2013


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
richard at codersnotes.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131011/1c0d2ac2/attachment.html>


More information about the lldb-dev mailing list