Изнутри Visual Studio окно с загруженным расширением отладки SOS я могу сделать
!dumpheap -stat
Тогда я получаю что-то вроде этого:
total 108,014 objects
Statistics:
MT Count TotalSize Class Name
...
0x00be209c 135 714108 System.Object[]
0x79b925c8 218 2659728 System.String
0x00be2c3c 78986 10,705,064 System.Byte[]
Total 208,014 objects, Total size: 36,259,364
Как мне теперь вызвать! Gcroot на некоторых экземплярах System.Byte []? Я сначала должен найти адрес их. Но использование! Dumpheap-type System.Byte [], безусловно, является плохой идеей, потому что это даст мне бесконечный список, и поскольку непосредственное окно кажется медленным, для их перечисления требуется более 20 минут - в то время визуальная студия не годные к употреблению. Есть ли уловка с использованием сценариев, как я могу вызвать! Gcroot для некоторых байтовых массивов?