1

私はsos.dllを使用してwpfのメモリリークを見つけています。そして、wpfオブジェクトがリリースされていないことを発見し、 !gcrootを使用してリリースされない理由を調べようとしました。

それは私に次のような温暖化をもたらしました:

6c369950は有効なオブジェクトではないことに注意してください。

デバッグ情報のスニペット

!dumpheap -type WPFUILib.MenuWindow
Statistics:
      MT    Count    TotalSize Class Name
0c12ef4c       14          224 WPFUILib.MenuWindow+<>c__DisplayClass2b
03fdf624        2          816 WPFUILib.MenuWindow
Total 16 objects

!gcroot 03fdf624
Note: Roots found on stacks may be false positives. Run "!help gcroot" for
more info.
Please note that 03fdf624 is not a valid object.
4

1 に答える 1

3

MethodTable(MT)のルートを見つけようとしていますが!gcroot、オブジェクトアドレスが必要です。2つのインスタンスのルートを見つけたい場合は、WPFUILib.MenuWindow最初にそれらのアドレスを見つける必要があります。を使用!dumpheap -mt 03fdf624してアドレスを一覧表示し、!gcrootそれらで使用します。

于 2010-10-07T06:52:47.680 に答える