grapevine.dyndns-ip.com Open in urlscan Pro
99.154.194.134  Public Scan

URL: https://grapevine.dyndns-ip.com/download/authentec/download/microsoft/clr%20memory%20tracing/sos%20docs/commands/DumpClass.htm
Submission: On August 10 via api from US — Scanned from US

Form analysis 0 forms found in the DOM

Text Content

DumpClass Dumps EEClass information Syntax !DumpClass <addr> Parameters

<addr>
Class Address Can be obtained with DumpMT

Example

0:001> !DumpClass 0daf36bc
Class Name : System.Web.UI.WebControls.Button
mdToken : 020001eb ()
Parent Class : 0daf3584
ClassLoader : 0016d200
Method Table : 0da6a130
Vtable Slots : 5e
Total Method Slots : 6c
Class Attributes : 100001 : 
Flags : 3000821
NumInstanceFields: 16
NumStaticFields: 2
ThreadStaticOffset: 0
ThreadStaticsSize: 0
ContextStaticOffset: 0
ContextStaticsSize: 0
FieldDesc*: 0da69fa0
      MT    Field   Offset                 Type       Attr    Value Name
0da68594  4000a47        4                CLASS   instance           _dataBindings
0da68594  4000a48        8                CLASS   instance           _id
0da68594  4000a49        c                CLASS   instance           _cachedUniqueID
0da68594  4000a4a       10                CLASS   instance           _parent
0da68594  4000a4b       14                CLASS   instance           _site
0da68594  4000a4c       18                CLASS   instance           _events
0da68594  4000a4d       1c                CLASS   instance           _controls
0da68594  4000a4e       38         System.Int32   instance           _controlState
0da68594  4000a4f       20                CLASS   instance           _renderMethod
0da68594  4000a50       24                CLASS   instance           _viewState
0da68594  4000a51       28                CLASS   instance           _controlsViewState
0da68594  4000a52       2c                CLASS   instance           _namedControls
0da68594  4000a53       3c         System.Int32   instance           _namedControlsID
0da68594  4000a54       30                CLASS   instance           _namingContainer
0da68594  4000a55       34                CLASS   instance           _page
0da68594  4000a56       40            VALUETYPE   instance           flags
0da68594  4000a41        0                CLASS     shared   static EventDataBinding
    >> Domain:Value 00150718:NotInit  001a57b8:050c71a4 <<
0da68594  4000a42        4                CLASS     shared   static EventInit
    >> Domain:Value 00150718:NotInit  001a57b8:050c71b0 <<
0da68594  4000a43        8                CLASS     shared   static EventLoad
    >> Domain:Value 00150718:NotInit  001a57b8:050c71bc <<
0da68594  4000a44        c                CLASS     shared   static EventUnload
    >> Domain:Value 00150718:NotInit  001a57b8:050c71c8 <<
0da68594  4000a45       10                CLASS     shared   static EventPreRender
    >> Domain:Value 00150718:NotInit  001a57b8:050c71d4 <<
0da68594  4000a46       14                CLASS     shared   static EventDisposed
    >> Domain:Value 00150718:NotInit  001a57b8:050c71e0 <<
0da68594  4000a57       18                CLASS     shared   static automaticIDs
    >> Domain:Value 00150718:NotInit  001a57b8:050c71ec <<
0da69d50  4000d31       44                CLASS   instance           tagName
0da69d50  4000d32       54         System.Int32   instance           tagKey
0da69d50  4000d33       48                CLASS   instance           attrColl
0da69d50  4000d34       4c                CLASS   instance           attrState
0da69d50  4000d35       50                CLASS   instance           controlStyle
0da69d50  4000d36       58            VALUETYPE   instance           flags
0da6a130  4000d6a        0                CLASS     shared   static EventClick
    >> Domain:Value 00150718:NotInit  001a57b8:050c61b4 <<
0da6a130  4000d6b        4                CLASS     shared   static EventCommand
    >> Domain:Value 00150718:NotInit  001a57b8:050c61c0 <<
										

Output

The MT column contains the address of the MethodTable the specific field comes
from. In this example, some fields come from System.Web.UI.WebControls.Button
and some from System.Web.UI.Control.



Class Name Name of the dumped class mdToken Metadata token (for more information
see Glossary) Parent Class Class that the current class is derived from. Can be
dumped with the DumpClass command ClassLoader

ClassLoader for the particular class.

Method Table Method Table for the current class; can be examined with the DumpMT
command Vtable Slots Number of vtable methods (hex), including derived methods
Total Method Slots Total number of methods (hex), including derived methods.
Class Attributes ValueType
Enum
UnmanagedValueType
Interface
Abstract
Import Flags Bitmasked DWORD for assigning class attribute values
NumInstanceFields Number of non-static member variables NumStaticFields Number
of static member variables ThreadStaticOffset ThreadStaticsSize
ContextStaticOffset ContextStaticsSize FieldDesc Pointer to fielddata printed in
the Fields table. MT Method table the particular field comes from. You can use
the DumpMT command to find out which class this field is defined in, such as the
current class or the classes that the current class derives from. Field mdToken
(mdtFieldDef) for the particular field.
Note: You cannot use the Token2EE command - it supports only mdtMethodDef,
mdtTypeDef and mdtTypeRef Offset Type

Type of field. This can be one of the following types



PTR BYREF VALUETYPE CLASS VAR ARRAY VALUEARRAY Native Real FNPTR SZARRAY
GENERICARRAY <base type name ex. System.Int32 >

Attr

Field attribute. Can be one of the following



shared shared static static instance



For shared static attributes, you also get an extra line for each domain,
except the system domain and the shared domain

0da689e4 4000bc8 8 CLASS shared static EventError 

    >> Domain:Value 00150718:NotInit  001a57b8:050c7510 <<





Domain: is followed by all available domains and whether the variable is
initialized in the specific domain. NotInit, FailInit or UnInit2 is displayed if
the static field is not initialized in the specific domain. Use the DumpDomain
command on the domain address to display information about the domain.

You can dump out the object using the DumpObj command, as shown below.

0:001> !DumpObj 050c7510 
Name: System.Object
MethodTable 0x79b4dd80
EEClass 0x79b4dde4
Size 12(0xc) bytes
mdToken: 02000002  (c:\windows\microsoft.net\framework\v1.0.3705\mscorlib.dll)
Object



Value Can be empty if it is an instance field, or static if it is an
uninitialized shared variable. Name Name of field (member variable).