Subject: Re: ddb Upcoming enhancements/changes/history
To: Eduardo Horvath <eeh@turbolinux.com>
From: John Hawkinson <jhawk@MIT.EDU>
List: tech-kern
Date: 05/24/2000 12:48:37
In message <Pine.NEB.4.21.0005240938150.21669-100000@ehorvath>, Eduardo Horvath
 writes:
>On Tue, 23 May 2000, John Hawkinson wrote:
>
>> 2)	There should be a "step over" command (like :e in adb) that sets
>> 	a breakpoint at the next instruction if the current instruction
>> 	is a call (or jump?).
>
>This may be a bit difficult to generalize.

Right, it will definitely need some machine-specific code.

>Between some machines with branch delay slots and others that use
>variable length instruction encodings it's not necessarily easy to
>find the next instruction.

Well, presumably on any machine where "x/i" works in ddb, it should
be reasonably easy to find the next instruction. Also, on some machines
you may be able to intuit things from comparing $pc to $npc.

But I presume you're merely noting the difficulty and not
objecting to the feature.

>Another nice feature would be to be able to extract datastructure layout
>from debugger information.  That way you boot /netbsd.gdb and can dump out
>any structure in the kernel without having to write and maintain
>macros.  

Hmm. This seems of...mixed utility. I find that I don't tend to have
a netbsd.gdb poking around a lot of the time. It seems like actually
having macros in the debugger would be more useful. But it's a trade-off.

>(I have had the pleasure of maintaining adb macros.  It's not viable
>long-term unless the macros can be automatically generated.)

Err, isn't that Sun has:

[x15-cruise-basselope!jhawk] ~> /usr/lib/adb/adbgen -\?
/usr/lib/adb/adbgen: illegal option -- ?
adbgen [-d] [-m ilp32|lp64] [-w] <adb macro file>
[x15-cruise-basselope!jhawk] ~> uname -a
SunOS x15-cruise-basselope.mit.edu 5.7 Generic_106541-09 sun4u sparc SUNW,Ultra-5_10

--jhawk