Unfortunately, if you don't know what object is containing the byte[], using
!dumpheap -type System.Byte[] is probably still your best bet. It'll take a long time (since you have nearly 80k byte[] arrays!).
If you know what, specifically, is creating the bytes, then you can use
!dumpobj on an object containing the byte array, and use that to get the address of the specific byte array. This can be useful at times, if you're trying to track down what all is referencing a specific object - you just need to know one specific object that you can inspect that's using that byte[] array, then you can use it to track down the address of the byte[] array, and
!gcroot it.
Michael Stanton posted a good blog article on some of the possibilities with
SoS functions . It's a good place to look for inspiration on other ways to approach this.
Reed Copsey, Jr. -
http://reedcopsey.com