Frank Hofmann wrote:
On Wed, 28 Mar 2007, rivanwang wrote:
Sometimes, due to stack pointer changes by entering kmdb, you can't get
the back trace by findstack dcmd. You have to check stack by invoking
like , 200/nap.
In this case, the stack pointer for thread d2ca0de0 is d2ca0c2c, you
can
check the thread with "d2ca0c2c,200/nap"
Can you tell me the usage of the command ',200/nap'?
Why the number is 200?
There is a book on Solaris/x86 crashdump analysis available via the
OpenSolaris developer documentation. That should help you with the
intricacies of thread stacks.
For an answer to the ',200/nap', type ::formats in mdb. That tells you
exactly what it means, and what's possible.
This specific example says:
print 0x200 times:
- (n) newline,
- (a) address operated on,
- (p) pointer contents
So it gives you a table of 512 words on the stack, like this:
<stack address> <contents of stack at that address>
<stack adress+8> <...>
...
As said, for details see the book.
Yeah, I like Frank's book very much! You can get his book from below link:
http://www.opensolaris.org/os/community/documentation/doc_index/dev/
--
Cheers,
----------------------------------------------------------------------
Oliver Yang | [EMAIL PROTECTED] | x82229 | Work from office
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code