[comp.unix.ultrix] Using dbx for kernel debugging on the 3100

mason@goofy..Stanford.EDU (Tony Mason) (04/22/89)

In the process of hacking on the Ultrix 3.0 (RISC) kernel, I've come square
up against dbx (there is no "adb" in the RISC distribution.)  Normal use of
dbx isn't a real problem, but trying to debug kernels is proving challenging.
The man page discusses using it with user programs but nary a word about the
kernel. It is advertised as a kernel level debugger (something about "adb"
being unnecessary because of its presence) so I know that it should work.

Basically, after an Ultrix kernel dies and reboots, the call to
savecore squirrels away a copy of the offending kernel and memory
image.  Running dbx on these, however, only yields the most recent
routine called;  I suspect this has to do with the context in which it
is running, either normal kernel or interrupt.  Since my work is with
communications protocols, much of the activity happens in interrupt
context.

The questions, then boils down to:

  Does dbx allow me to peruse nice clean call-frames for both the
  kernel and interrupt stacks (yes, I know I can go poking through
  memory and reconstruct it by hand, but in that case I might as well
  use the ROM monitor.)  If so, how?

The DEC people I've talked to haven't been able to shed any light on
this (apparently, dbx was picked up from MIPSCO.)

Any wisdom you might have will be appreciated.

Tony Mason
Distributed Systems Group
Stanford University
mason@pescadero.stanford.edu