2009-09-22 12 views
4

De dans la fenêtre immédiate studio visuel avec l'extension de débogage SOS chargé que je peux faireComment puis-je utiliser gcroot

!dumpheap -stat 

Puis-je obtenir quelque chose comme ceci:

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 

Comment puis-je appeler gcroot sur certaines des instances System.Byte [] maintenant? Je devrais d'abord trouver l'adresse d'eux. Mais utiliser! Dumpheap -type System.Byte [] est sûrement une mauvaise idée car cela me donnera une liste interminable et comme la fenêtre immédiate semble lente, il faut plus de 20 minutes pour les lister - du moment que le studio visuel n'est pas utilisable. Y at-il une astuce sceret comment je pourrais appeler! Gcroot sur certains des tableaux d'octets?

Répondre

2

Vous pouvez filtrer le bruit en utilisant les commutateurs -min -max, je suppose que votre problème est avec les gros objets alors appelez! Dumpheap -min -type System.Byte [] où est assez grand pour filtrer le bruit .