Subject: Re: remote kernel debugging - need some clarification
To: Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de>
From: Chris G. Demetriou <cgd@CS.cmu.edu>
List: tech-kern
Date: 02/03/1997 16:52:49
> My questions in particular:
> 1. A couple of ports (eg hp300, sun) use a protocol
>   which is completely different from the original
>   gdb one. Why? Are there historical reasons?
>   Which debugger hangs on the other side?

GDB, with special hacks from LBL.

This is historical; this protocol was what was used by 4.4BSD-Lite,
etc., on those systems.


> 2. ipkdb is again different - where does this protocol
>   come from?

Wolfgang Solfrank invented it, because (for whatever reason) he didn't
like the gdb-over-ether protocol.


> 3. Why do these ports attach the debugger only at
>   autoconfiguration time? Many interesting things can
>   happen before... Or am I missing something?

the sparc and hp300 attach kgdb earlier than that, i thought.
traditionally, it's happened 'at the earliest possible opportunity.'

I'm not sure what ipkdb does, but if it attaches only when its device
is attached that's broken.


> 4. Are there solutions for a reasonable coexistence
>   of DDB and KGDB?

Well, them seem mutually exclusive (what does it mean to be using both
at the same time)?


> 5. There are  #ifdef KGDB stubs in i386/locore.s,
>   i386/machdep.c and isa/com.c. Has there been a
>   kgdb implementation in former times, and do they
>   serve any purpose now?

Those hooks came from Net2/4.4-Lite, if i recall.  they're currently
not useful.


In the long term, i'd say that unless there's a very strong technical
reason to _not_ go with the standard GDB protocols for serial and
ethernet debugging, we should go with them.  Last i heard, there were
non-GPL'd stubs for them...


cgd