NetInverse Developers Blog

April 9, 2009
Category: Debugging — Tags: , , , , — admin @ 8:59 pm

SOS Command: !DumpStackObjects

!DumpStackObjects [-verify] [top stack [bottom stack]]

This command will display any managed objects it finds within the bounds of the current stack. Combined with the stack tracing commands like K and !CLRStack, it is a good aid to determining the values of locals and parameters.

If you use the -verify option, each non-static CLASS field of an object candidate is validated. This helps to eliminate false positives. It is not on by default because very often in a debugging scenario, you are interested in objects with invalid fields.

The abbreviation !dso can be used for brevity.

Sample output:

!dumpstackobjects
OS Thread Id: 0x244 (580)
ESP/REG  Object   Name
0012f05c 012c2c10 System.Object[]    (System.String[])
0012f194 012c2c10 System.Object[]    (System.String[])
0012f3cc 012c2c34 System.RuntimeType
0012f3d0 012c2c34 System.RuntimeType
0012f3d4 012c2c20 System.RuntimeType
0012f3e0 012c2c20 System.RuntimeType
0012f414 012c2c10 System.Object[]    (System.String[])
0012f444 012c2c10 System.Object[]    (System.String[])
0012f534 012c2c10 System.Object[]    (System.String[])
0012f6e0 012c2c10 System.Object[]    (System.String[])
0012f708 012c2c10 System.Object[]    (System.String[])

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

©2009 NetInverse. All rights reserved. Powered by WordPress