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

Reply via email to