# Toggling between remote KGDB and local DDB within a debugging session



## Pegasus711 (Apr 18, 2016)

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 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) 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 '`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


----------

