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>