我正在使用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.
答案 0 :(得分:3)
您正在尝试查找MethodTable(MT)的根,但!gcroot
需要一个对象地址。如果要查找两个WPFUILib.MenuWindow
实例的根,则需要先找到它们的地址。使用!dumpheap -mt 03fdf624
列出地址,然后对其使用!gcroot
。