Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Aug 1995 09:23:13 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-hackers@freebsd.org (FreeBSD hackers)
Cc:        rashid@haven.ios.com (Rashid Karimov.)
Subject:   Re: Chasing the ghost (DDB usage tips).
Message-ID:  <199508300723.JAA02080@uriah.heep.sax.de>
In-Reply-To: <199508292217.SAA27856@haven.ios.com> from "Rashid Karimov." at Aug 29, 95 06:17:22 pm

next in thread | previous in thread | raw e-mail | index | archive | help
As Rashid Karimov. wrote:
> 
> 	So if any1 here can provide any tip on DDB usage - 
> 	that would be great. Man page is not too helpful 
> 	in this sense,

/usr/share/FAQ/Text/kernel-debug.FAQ

> 	for example , how can I find if the SCSI driver
> 	is fine and is not locked ? If it is locked - in which 
> 	routine and what parameters were passed to it ...
> 	How to find the processes waiting for the resources
> 	and find the reason for them to be in the wait state ?

There's a `ps' command, and often you can also guess certain things
from the stack backtrace.

When looking deep inside some scsi routines, have a printed copy of
the sources around, or a second machine where you can browse through
the code.

Remember the command ``x/iA <symbolname>,18'' to get a disassembled
listing of some portion of code (``x,18'' for the next chunk).  You'll
need to have a ``feeling'' of what the compiler does.

Clearly differentiate between p(rint) and (e)x(amine).  Applied to a
variable, print will print its address, while examine will print the
contents.  OTOH, you cannot examine a register, but you can print it
(this is usually easier to watch then `show registers').

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508300723.JAA02080>