我有一个dotMemory分析会话,但找不到内存泄漏,因此我执行了以下操作:
-
-
连接WinDbg并打断进程
-
在dotMemory中拍摄快照
-
让这个过程继续下去(
g
)这样dotMemory就可以占领snapshop了
-
这样,如果应用程序处于空闲状态,即什么也不做(好吧,它运行消息泵),我应该得到相同的结果。
查看dotMemory快照中的对象,我可以看到88000个JProperty类型的对象:
0:021> !dumpheap -stat -type JProperty
Statistics:
MT Count TotalSize Class Name
000007fe7d3a3c28 83930 3357200 Newtonsoft.Json.Linq.JPropertyKeyedCollection
000007fe7d3a4ef0 177104 4250496 Newtonsoft.Json.Linq.JProperty+JPropertyList
000007fe7d3a4b80 177104 18418816 Newtonsoft.Json.Linq.JProperty
Total 438138 objects
谁错了?或者说,将调试器与dotMemory一起使用是一个已知的问题?
我正在Windows7上使用dotMemory 2018.1.4和windbg10.0.15063,调试一个x64程序,如果有任何问题的话。