On Tue, 14 Dec 2021 at 10:58, Pavel Labath via lldb-dev <lldb-dev@lists.llvm.org> wrote: > > So how would this be represented in lldb? Would there be any threads, > registers? Just a process with a bunch of modules ?
Using GDB (kgdb) as an example - it lists a thread for every kernel/userspace thread. For example, ... 593 Thread 100691 (PID=20798: sleep) sched_switch (td=0xfffffe0118579100, flags=<optimized out>) at /usr/home/emaste/src/freebsd-git/laptop/sys/kern/sched_ule.c:2147 ... and it can fetch per-thread register state: (kgdb) thread 593 [Switching to thread 593 (Thread 100691)] #0 sched_switch (td=0xfffffe0118579100, flags=<optimized out>) at /usr/home/emaste/src/freebsd-git/laptop/sys/kern/sched_ule.c:2147 2147 cpuid = td->td_oncpu = PCPU_GET(cpuid); (kgdb) info reg rax <unavailable> rbx 0x882c545e 2284606558 rcx <unavailable> rdx <unavailable> rsi <unavailable> rdi <unavailable> rbp 0xfffffe01172617d0 0xfffffe01172617d0 rsp 0xfffffe0117261708 0xfffffe0117261708 .... (kgdb) bt #0 sched_switch (td=0xfffffe0118579100, flags=<optimized out>) at /usr/home/emaste/src/freebsd-git/laptop/sys/kern/sched_ule.c:2147 #1 0xffffffff80ba4261 in mi_switch (flags=flags@entry=260) at /usr/home/emaste/src/freebsd-git/laptop/sys/kern/kern_synch.c:542 #2 0xffffffff80bf428e in sleepq_switch (wchan=wchan@entry=0xffffffff81c8db21 <nanowait+1>, pri=pri@entry=108) at /usr/home/emaste/src/freebsd-git/laptop/sys/kern/subr_sleepqueue.c:608 ... _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev