It is possible to directly gdb the virtual kernel's process. It is recommended that you do a `handle SIGSEGV noprint' to ignore page faults processed by the virtual kernel itself and `handle SIGUSR1 noprint' to ignore signals used for simulating inter-processor interrupts (SMP build only).
-You can add these two commands in your `~/.gdbinit' to save yourself from typing them again and again.
+You can add these two commands in your ~/.gdbinit to save yourself from typing them again and again.
$ cat ~/.gdbinit
handle SIGSEGV noprint
(gdb)
Why does it differ from the ddb's trace ?
-Well, when the vkernel is sitting at a `db> prompt' all vkernel threads representing virtual cpu's except the one handling the db> prompt itself will be suspended in stopsig(). The backtrace only sees one of the N threads.
+Well, when the vkernel is sitting at a db> prompt all vkernel threads representing virtual cpu's except the one handling the db> prompt itself will be suspended in stopsig(). The backtrace only sees one of the N threads.
We need to do better this time. Let's break into the kernel _before_ it crashes. sys_ktrace() seems like a good candidate.