dotnet-debugging.NET DEBUGGING
.NET Internals
OOPSOOADSOLIDDPDSSQLXMLHTMLCSS

Application Domain
Logical Process - To Isolate .NET/Managed 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 - To Manage .NET/Managed 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 - To Manage .NET/Managed 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 - To Manage .NET/Managed Method Definitions
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 - To Manage .NET/Managed Fields
Such as Num Instance Fields, Num Static Fields 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 - To Manage .NET/Managed Method Implementations
Such as Is Jitted, Code Addr 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