tobin@ucsd.edu (Roy Tobin) (05/25/90)
I am writing a device driver for a Sun Sparcstation 1 running SunOS 4.0.3. Every now and then I get a kernel bus fault and am trying to debug it with an event log which I compiled into the kernel. I would like to write a program which analyzes the kernel coredump and prints this event log. I can find the virtual address of my event log using adb. The problem is that the event log (along with my driver) is dynamically loaded and I don't know how to map kernel virtual addresses to coredump offsets. Does anybody have the answer? tobin%btree.uucp@ucsd.edu
jeffz@sun.com (Jeffrey Zank - SBus Software) (05/29/90)
| I am writing a device driver for a Sun Sparcstation 1 running SunOS 4.0.3. | Every now and then I get a kernel bus fault and am trying to debug it with | an event log which I compiled into the kernel. I would like to write a | program which analyzes the kernel coredump and prints this event log. I | can find the virtual address of my event log using adb. The problem is | that the event log (along with my driver) is dynamically loaded and I | don't know how to map kernel virtual addresses to coredump offsets. Does | anybody have the answer? First off, have you tryed kadb() as an environment for debugging your driver. This way you do not need to dump out your coredump and try to interperpt the data. If you have large data structures to de-bug then you might want to write a "adb macro" to print it out (see /usr/lib/adb for examples).