4

SOSデバッグ拡張機能がロードされたVisualStudioイミディエイトウィンドウ内から実行できます

!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

System.Byte []インスタンスの一部で!gcrootを呼び出すにはどうすればよいですか?私は最初に彼らの住所を見つけなければならないでしょう。しかし、!dumpheap -type System.Byte []を使用すると、無限のリストが得られ、すぐに表示されるウィンドウが遅いように見えるため、リストするのに20分以上かかるため、確かに悪い考えです。使用可能。一部のバイト配列で!gcrootを呼び出す方法はありますか?

4

1 に答える 1

2

-min -maxスイッチを使用してノイズをフィルターで除去できます。問題は大きなオブジェクトにあると思われるので、ノイズをフィルターで除去するのに十分な大きさの!dumpheap -min -typeSystem.Byte[]を呼び出します。

于 2009-09-22T17:43:28.077 に答える