2010-02-04 19 views
20

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?

Odpowiedz

26

Szukacie

!da 1da226ec 

zrzucić obiektów tablicy.

+8

Ze szczegółami:! Da -details 1da226ec – lsalamon

Powiązane problemy