WINDBG, how to view the contents of an array?
arrays, managed-extensions, windbg
Solution
You're looking for
!da 1da226ec
To dump the array objects.
Problem
I'm using WINDBG to analyze a dump file for a program that exhibits a bit too high memory usage. One of the objects involved is holding an object array, referencing a lot of objects I'd like to look at, to try to find out why they were allocated. Here's what I've tried: First, my collection of ServiceContainer objects: ``` 0:000> !do 05633014 Name: System.Collections.Generic.List`1[[LVK.IoC.ServiceContainer, LVK.Core]] MethodTable: 08b3c7fc EEClass: 6f70ca78 Size: 24(0x18) bytes (C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll) Fields: MT Field Offset Type VT Attr Value Name 6f924324 40009d8 4 System.Object[] 0 instance 1da226ec _items 6f952da0 40009d9 c System.Int32 1 instance 5356 _size 6f952da0 40009da 10 System.Int32 1 instance 5538 _version 6f950770 40009db 8 System.Object 0 instance 00000000 _syncRoot 6f924324 40009dc 0 System.Object[] 0 shared static _emptyArray >> Domain:Value dynamic statics NYI 002b2a28:NotInit << ``` The `_items` array there is the one I want to look at, so I issued this command: ``` 0:000> !do 1da226ec ``` which produced: ``` Name: System.Object[] MethodTable: 6f924324 EEClass: 6f70da64 Size: 32784(0x8010) bytes Array: Rank 1, Number of elements 8192, Type CLASS Element Type: LVK.IoC.ServiceContainer Fields: None ``` Looking at the web, I've found indications that there was a `-v` option I could use on something to produce the array values, but this doesn't seem to work. How do I look at the elements of this array?