Вот скрипт, который я не тестировал, но может помочь вам. Я основал его на сценариях Тесс для сброса всех переменных сеанса в куче для ASP.net.
r @$t0=0;
$$ Loop to get all foo's
.foreach (CurrentFoo {!dumpheap -type George.George2.Foo -short}){
$$ Increment # of Foo's
r @$t0 = @$t0+1
.printf "Length:\t%d\n", poi(${CurrentFoo}+0xc);
}
.printf "Number of Foo's: %d\n\n\n\n\n\n\n\n\n", @$t0;
Хитрость в этом заключается в том, чтобы выяснить количество байтов, на которое свойство length смещено от основной ссылки Foo, и заменить "0xc" в строке printf на правильное количество байтов смещения.
Вы должны быть в состоянии сделать это, просто сделав! Dumpobject на одном из ваших Foo и просмотрев его структуру.
Надеюсь, это поможет.