Hi Tao, waiting to see your updated patch.
Implmentation is machine specific. In x86_64, I use cmd_bt() to add
additional gdb threads (gdb_add_substack(stack_id) call). Once added,
gdb will may call machdep->get_current_task_reg() with corresonding
stack_id (sid: new argument).
Note: crash 'bt' command must be called for addition threads to appear.
I guess this is not very user-friendly, I'm trying to improve that.
Agree, I though of adding silent 'bt' invocation on current task
set/switch. But it will slowdown initialization and 'set' command.
If you have other ideas, I happy to hear it.
crash> gdb info threads
Id Target Id Frame
* 1 94228 SCTP (stack 0) 0xffffffff998eaadf in __inb (port=100) at ./arch/x86/include/asm/shared/io.h:22
2 94228 SCTP (stack 1) crypto_aead_encrypt (req=req@entry=0xffff96a348352060) at crypto/aead.c:86
The stack(0,1) doesn't make sense for users, I prefer to set marks for
each threads, as the follows:
crash> info threads
Detaching from process 18613
Id Target Id Frame
* 1 18336 insmod crash_setup_regs (oldregs=<optimized
out>, newregs=<optimized out>) at ./arch/x86/include/asm/kexec.h:134
2 18336 insmod "eframe" 0xffffffffa008300e in ?? ()
So the user will know what kind of stack the thread is...
It would be great!
Thanks,
--Alexey
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki