Hier ist ein Skript, das habe ich nicht getestet, aber vielleicht den Trick für Sie tun. I basierte es weg von Tess' Skripte für dumping out all session variables on the heap for 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;
Der Trick zu dieser wird die Anzahl von Bytes sein, herauszufinden, dass die Länge Eigenschaft aus der Haupt Foo Referenz versetzt ist, und Ersetzen des ‚0xC‘ in der Printf-Zeile mit der korrekten Anzahl von Offset-Bytes.
Sie sollten in der Lage sein, dies zu tun, indem Sie einfach ein! Dumpobject auf einem Ihrer Foo's machen und die Struktur davon betrachten.
Hoffnung, das hilft.
Eine sehr gute Antwort hier: http://stackoverflow.com/questions/3926562/inspect-field-on-all-instances-in-memory-dump – Bryan