.NET DEBUGGING
OOPSOOADSOLIDDPDSSQLXMLHTMLFAQ
.NET Internals
Application Domain
Logical Process - For Managed / .NET Assemblies
Such as System Domain, Shared Domain etc.
How To
Dump Application DomainCDB@ !SOS.DumpDomain [Application Domain Address]
!SOS.DumpDomain : Extension Command, Dump Application Domain

[Domain Address] : Optional Parameter, Application Domain Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpDomain [Application Domain Address]

Assembly
Deployment Unit - For Managed / .NET Modules
Such as Exe, Dll etc.
How To
Dump AssemblyCDB@ !SOS.DumpAssembly <Assembly Address>
!SOS.DumpAssembly : Extension Command, Dump Assembly

<Assembly Address> : Parameter, Assembly Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpAssembly <Assembly Address>

Module
Compilation Unit - For Managed / .NET Types, Methods etc.
Such as Type Def, Method Def etc.
How To
Dump ModuleCDB@ !SOS.DumpModule -mt <Module Address>
!SOS.DumpModule : Extension Command, Dump Module

-mt : Option, Method Table

<Module Address> : Parameter, Module Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpModule -mt <Module Address>

Method Table
Virtual Table - For Managed / .NET Methods Call
Such as EE Class, Method Desc etc.
How To
Dump Method TableCDB@ !SOS.DumpMT -md <Method Table Address>
!SOS.DumpMT : Extension Command, Dump Method Table

-md : Option, Method Descriptor

<Method Table Address> : Parameter, Method Table Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpMT -md <Method Table Address>

Execution Engine Class
CLR Data Structure - For Managed / .NET Fields
Such as NumInstanceFields, NumStaticFields etc.
How To
Dump EE ClassCDB@ !SOS.DumpClass <EE Class Address>
!SOS.DumpClass : Extension Command, Dump Execution Engine Class

<EE Class Address> : Parameter, EE Class Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpClass <EE Class Address>

Method Descriptor
Method Pointer - For Managed / .NET Methods Implementation
Such as IsJitted, CodeAddr etc.
How To
Dump Method DescriptorCDB@ !SOS.DumpMD <Method Descriptor Address>
!SOS.DumpMD : Extension Command, Dump Method Descriptor

<Method Descriptor Address> : Parameter, Method Descriptor Address
Alternatively, RUN@ windbg.exe → DBG@ → View (Alt+V) → Command (Alt+1) → !SOS.DumpMD <Method Descriptor Address>

CDB
Console Debugger

DBG
Debugger

DEF
Definition

DLL
Dynamic Link Library

EE
Execution Engine

EXE
Executable

MD
Method Descriptor

MT
Method Table

NUM
Number

REF
Reference

SOS
Son Of Strike

WIN
Windows