*BSD News Article 11956


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA2276 ; Mon, 01 Mar 93 10:51:59 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!europa.eng.gtefsd.com!emory!ogicse!flop.ENGR.ORST.EDU!gaia.ucs.orst.edu!umn.edu!csus.edu!netcom.com!hasty
From: hasty@netcom.com (Amancio Hasty Jr)
Newsgroups: comp.os.386bsd.questions
Subject: Re: XFree-1.2 crashes w/ xv weather map
Message-ID: <1993Feb26.072452.10296@netcom.com>
Date: 26 Feb 93 07:24:52 GMT
Article-I.D.: netcom.1993Feb26.072452.10296
References: <1mc917INN6db@usenet.INS.CWRU.Edu> <1993Feb25.214202.11624@dsuvax.dsu.edu> <1993Feb26.071851.9900@netcom.com>
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
Lines: 181

Related to this topic, about 2 or three months ago some one 
posted a stack trace dump facility so that if a program
generated a panic it will print to standard out a stack trace.

If someone has this posting could you re-post?

Here is the posting in reference to gdb not being able 
to examine the stack trace from a core-dump.

Have fun!
Amancio

Article 11679 of comp.unix.bsd:
Path: netcom.com!netcomsv!decwrl!deccrl!enterpoop.mit.edu!ira.uka.de!Germany.EU.net!hcshh!hm
From: hm@hcshh.hcs.de (Hellmuth Michaelis)
Newsgroups: comp.unix.bsd
Subject: [386BSD] gdb patch for using gdb with coredumps
Keywords: 386bsd gdb patch coredump
Message-ID: <1631@hcshh.hcs.de>
Date: 22 Jan 93 07:42:27 GMT
Organization: HCS GmbH, Hamburg, Europe
Lines: 150


[I'm posting this for Joerg Wunsch, who is in the moment without news
 access. Please direct all questions, suggestions, flames etc. to him,
 he can still be reached via mail as joerg_wunsch@tcd-dresden.de or
 joerg@sax.de or joerg@ref.tfs.com or wutcd@hadrian.hrz.tu-chemnitz.de.
 Thank you! hellmuth]


Hi netters,

when working with GDB, an annoying bug occurs when debugging core
dumps. GDB always complains about an unreadable stack region if
one attempts to grab out any stack data (e. g. with the ``where''
command). I found there's an error in config/i386bsd-dep.c:
the stack top is reset during `exec_file_command()' to zero
[and you'll always have to execute this command if you wanna
debug something]. I've managed the function `core_file_command()'
to set it to a reasonable value before reading the core file, so
everything works fine. Btw, the `reasonable value' is offset for
MAXSSIZ from the constant named USRSTACK (in /usr/include/machine/
vmparam.h) - I suspect there's still a mistake in /sys/kern/kern_execve.c
which causes this offset to each user program. But don't bother
with that, it doesn't harm very much (for now).

To get GDB compiled, you'll have to symlink all /sys/vm/*.h
files into (existing) /usr/include/vm directory - someone forgot
this.

When working with kgdb in analyzing kernel core dumps, I found
it useful to be able to set an arbitrary stack frame to something
I guess it could be a stack frame. I've extended the existing hooks
in GDB sources, so it can now be compiled with a macro ``FRAME_
SPECIFICATOIN_DYADIC'' defined. This allows a third form of the
frame command:

	frame <new_framepointer> <new_programmcounter>

resulting in a new frame (for GDB's idea) being created and making
it the top one. A general recipe for analyzing kernel core dumps looks
like:

	% cd /sys/compile/YOURMACHINE
	% compile what you feel necessary with `-g' Option
	% size 386bsd; size /var/crash/system.NN should report
	  identical section sizes (though 386bsd would be larger)
	% gdb -k 386bsd /var/crash/ram.NN
	(kgdb) up 2
	[ somewhere in trap() ]
	(kgdb) print/x frame
	[ shows you the register contents when system trapped ]
	(kgdb) print/x eva
	[ shows you i386's CR2 contents - useful on vm_fault's ]
	(kgdb) frame frame.tf_ebp frame.tf_eip
	[ That it is! Now your stack is the stack of faulting function;
	look whatever you want to find the failure. e.g.:]
	(kgdb) info args
	[ ... ]
	(kgdb) info locals
	[ ... ]
	...

		Good look!
		J"org

Aah, the patch is built to fit into Terry's patchkit. Put it into
/patch/inbound, and continue as you used to do. Maybe someone would
include it ``officially'' sometimes.

begin 644 patchjw003.tar.Z
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
'&9[B.9Y7`9S(
`
end
-- 
>>>>>>> J"org Wunsch <<<<<<< : joerg_wunsch@tcd-dresden.de
If anything can go wrong...  : [...!uunet]!mcsun!unido!textild!joerg_wunsch
     .o .o                   : alias: joerg@sax.de, joerg@ref.tfs.com,
       <_      ... IT WILL!  :        wutcd@hadrian.hrz.tu-chemnitz.de


-- 
hellmuth michaelis    HCS Hanseatischer Computerservice GmbH   hamburg, europe
hm@hcshh.hcs.de              tel: +49/40/55903-170         fax: +49/40/5591486



-- 
This message brought to you by the letters X and S and the number 3
Amancio Hasty           |  
Home: (415) 495-3046    |  ftp-site depository of all my work:
e-mail hasty@netcom.com	|  sunvis.rtpnc.epa.gov:/pub/386bsd/incoming