Windbg 对象计数以2的因数关闭

Windbg 对象计数以2的因数关闭,windbg,dotmemory,Windbg,Dotmemory,我有一个dotMemory分析会话,无法找到内存泄漏,因此我执行了以下操作: 启动内存会话 连接WinDbg并打断进程 在内存中拍摄快照 让该过程继续(g)以便dotMemory可以接管snapshop 拍摄快照后,请再次进入该过程 这样,如果应用程序处于空闲状态,即不执行任何操作(好吧,它运行消息泵),我应该得到相同的结果 查看dotMemory快照中的对象,我可以看到88000个JProperty类型的对象: 然而,在WinDbg中,我看到了双倍数量的对象: 0:021> !dump

我有一个dotMemory分析会话,无法找到内存泄漏,因此我执行了以下操作:

  • 启动内存会话
  • 连接WinDbg并打断进程
  • 在内存中拍摄快照
  • 让该过程继续(
    g
    )以便dotMemory可以接管snapshop
  • 拍摄快照后,请再次进入该过程
  • 这样,如果应用程序处于空闲状态,即不执行任何操作(好吧,它运行消息泵),我应该得到相同的结果

    查看dotMemory快照中的对象,我可以看到88000个JProperty类型的对象:

    然而,在WinDbg中,我看到了双倍数量的对象:

    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一起使用是一个已知的问题


    我正在Windows 7上使用dotMemory 2018.1.4和WinDbg 10.0.15063调试x64程序,如果有任何问题的话。

    看起来这是dotMemory 2018.1.4中的一个bug。由于某些原因,我没有自动获得更新。我现在已更新到2018.2.1版,对象计数相同


    我试图在中找到一个问题,但没有找到。

    我知道另一个可以解释它的原因,dotMemory不显示分析API报告但无法从任何根访问的对象(是的,有时GC会让某些对象无法从内存中的根访问,MS分析API会报告它们)。你能在WinDbg中看到可从根访问的对象的数量吗?