2010-02-04 140 views
20

我正在使用WINDBG來分析轉儲文件的內存使用率過高的程序。WINDBG,如何查看數組的內容?

其中涉及的一個對象是持有一個對象數組,引用很多我想查看的對象,試圖找出它們被分配的原因。

這是我已經試過:

首先,我的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陣列有一個我想看看,所以我發出這個命令:

0:000> !do 1da226ec 

它生產:

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 

看着網頁,我發現indications有一個-v選項,我可以使用某些東西來產生數組值,但這似乎不起作用。

如何查看此數組的元素?

回答

26

您正在尋找

!da 1da226ec 

要轉儲數組對象。

+8

具體細節:!da -details 1da226ec – lsalamon 2012-11-29 14:45:50