Używam WINDBG do analizy pliku zrzutu dla programu, który wykazuje zbyt wysokie zużycie pamięci.WINDBG, jak wyświetlić zawartość tablicy?
Jednym z zaangażowanych obiektów jest trzymanie tablicy obiektów, odwołując się do wielu obiektów, na które chciałbym popatrzeć, aby dowiedzieć się, dlaczego zostały przydzielone.
Oto co próbowałem:
Po pierwsze, moja kolekcja przedmiotów ServiceContainer:
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 <<
_items
tablicy znajduje się jeden chcę patrzeć, więc wydałem polecenie:
0:000> !do 1da226ec
których wymienić:
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
Patrząc na sieć, znalazłem indications, że istnieje opcja -v
, której mogę użyć na czymś, aby wytworzyć wartości tablicowe, ale to nie działa.
Jak mogę sprawdzić elementy tej tablicy?
Ze szczegółami:! Da -details 1da226ec – lsalamon