Hello.
I think the title says it all!!
I would like to know if there is indeed a way to toggle between gdb and ddb while debugging a remote kernel.
I am already at the gdb (or rather kgdb
) prompt. From here how do I switch to local ddb on the debugged machine??
My kernel configuration file already contains '
options GDB
options DDB
As per the developer's handbook, "Every time you type gdb, the mode will be toggled between remote GDB and local DDB. In order to force a next trap immediately, simply type s (step). Your hosting GDB will now gain control over the target kernel:"
So, I did try typing 'gdb' at the gdb prompt (funny me
) and as expected, it was an unrecognized command. Obviously, this command is supposed to be typed at the ddb prompt. But my question is, how do I drop to ddb from within a running machine? When remote GDB is listening and I force a panic using '
What I want, is to enter ddb on the local machine. Do some debugging using it; drop to remote KGDB for things that are best done using KGDB, then switch back to local DDB when I'm done.
Is there a way to do that? If yes please do let me know
I think the title says it all!!

I would like to know if there is indeed a way to toggle between gdb and ddb while debugging a remote kernel.
I am already at the gdb (or rather kgdb

My kernel configuration file already contains '
options BREAK_TO_DEBUGGER
' and I have BOTH GDB and DDB configured aka:options GDB
options DDB
As per the developer's handbook, "Every time you type gdb, the mode will be toggled between remote GDB and local DDB. In order to force a next trap immediately, simply type s (step). Your hosting GDB will now gain control over the target kernel:"
So, I did try typing 'gdb' at the gdb prompt (funny me

sysctl debug.kdb.enter=1
', it does drop into remote KGDB. However, when it is NOT listening, the system just freezes.What I want, is to enter ddb on the local machine. Do some debugging using it; drop to remote KGDB for things that are best done using KGDB, then switch back to local DDB when I'm done.
Is there a way to do that? If yes please do let me know