GLx Runner: four-CPU TXM debugging Recorded from a real LLDB session. Start the runner: ./runner --version duo --txm-only --max-cpus 4 --gdb 1234 --gdb-wait --break-after-cpu-boot --no-banner --disable-coredump Start LLDB in another terminal: lldb --no-lldbinit (lldb) gdb-remote 127.0.0.1:1234 Unable to find file with UUID 7A43864A-8C5F-3892-8578-1A5334A0D41A at address 0x4d68000 Unable to find file at address 0xfffff8001fbd0000 (lldb) (lldb) Process 1 stopped * thread #1, stop reason = signal SIGTRAP frame #0: 0xfffffff017084000 -> 0xfffffff017084000: tbz x18, #0x3f, 0xfffffff017084008 0xfffffff017084004: b 0xfffffff01703dabc 0xfffffff017084008: mov x20, x0 0xfffffff01708400c: ldr x1, [x0] Target 0: (No executable module.) stopped. (lldb) breakpoint set --address 0xfffffff01703da24 Breakpoint 1: address = 0xfffffff01703da24 (lldb) (lldb) continue Process 1 resuming (lldb) (lldb) Process 1 stopped * thread #2, stop reason = breakpoint 1.1 frame #0: 0xfffffff01703da24 -> 0xfffffff01703da24: mov sp, x0 0xfffffff01703da28: and x0, x16, #0xffffffff 0xfffffff01703da2c: cmp x0, #0x0 0xfffffff01703da30: b.eq 0xfffffff01703d8d4 Target 0: (No executable module.) stopped. (lldb) register read pc sp x0 x1 pc = 0xfffffff01703da24 sp = 0x000000000feebc00 x0 = 0x000000000fee8000 x1 = 0x0000000000000000 (lldb) (lldb) thread step-inst (lldb) (lldb) Process 1 stopped * thread #2, stop reason = instruction step into frame #0: 0xfffffff01703da28 -> 0xfffffff01703da28: and x0, x16, #0xffffffff 0xfffffff01703da2c: cmp x0, #0x0 0xfffffff01703da30: b.eq 0xfffffff01703d8d4 0xfffffff01703da34: mov x8, sp Target 0: (No executable module.) stopped. (lldb) register read pc sp pc = 0xfffffff01703da28 sp = 0x000000000fee8000 (lldb) (lldb) breakpoint delete 1 1 breakpoints deleted; 0 breakpoint locations disabled. (lldb) (lldb) continue Process 1 resuming (lldb) (lldb) Process 1 stopped * thread #1, stop reason = signal SIGTRAP frame #0: 0xfffffff0170842a4 -> 0xfffffff0170842a4: brk #0x2002 0xfffffff0170842a8: b 0xfffffff0170842b0 0xfffffff0170842ac: tenter #0x0 0xfffffff0170842b0: retab Target 0: (No executable module.) stopped. (lldb) thread list Process 1 stopped * thread #1: tid = 0x0001, 0xfffffff0170842a4, stop reason = signal SIGTRAP thread #2: tid = 0x0002, 0xfffffff0170842a4 thread #3: tid = 0x0003, 0xfffffff0170842a4 thread #4: tid = 0x0004, 0xfffffff0170842a4 (lldb) (lldb) thread select 4 (lldb) (lldb) * thread #4 frame #0: 0xfffffff0170842a4 -> 0xfffffff0170842a4: brk #0x2002 0xfffffff0170842a8: b 0xfffffff0170842b0 0xfffffff0170842ac: tenter #0x0 0xfffffff0170842b0: retab (lldb) register read pc sp tpidr_el1 pc = 0xfffffff0170842a4 sp = 0x000000000fef3b60 tpidr_el1 = 0x0000000000000000 (lldb) (lldb) thread select 1 (lldb) (lldb) memory read --size 4 --format x --count 4 $pc * thread #1, stop reason = signal SIGTRAP frame #0: 0xfffffff0170842a4 -> 0xfffffff0170842a4: brk #0x2002 0xfffffff0170842a8: b 0xfffffff0170842b0 0xfffffff0170842ac: tenter #0x0 0xfffffff0170842b0: retab 0xfffffff0170842a4: 0xd4240040 0x14000002 0xd4e00000 0xd65f0fff (lldb) (lldb) disassemble --start-address $pc --count 6 -> 0xfffffff0170842a4: brk #0x2002 0xfffffff0170842a8: b 0xfffffff0170842b0 0xfffffff0170842ac: tenter #0x0 0xfffffff0170842b0: retab 0xfffffff0170842b4: pacibsp 0xfffffff0170842b8: mov x16, #0x300000000000000 ; =216172782113783808 (lldb)