【问题标题】:Cannot use !heap -flt s in WinDbg Preview不能在 WinDbg Preview 中使用 !heap -flt s
【发布时间】:2022-10-13 05:38:40
【问题描述】:

我正在尝试使用 WinDbg Preview(Windows Store 应用程序)调试内存泄漏。

我可以执行!heap -s 来获取堆列表,然后执行!heap -stat -h <address_of_a_heap> 来获取对象已用内存的统计信息,但是当我尝试使用!heap -flt s 100 列出所有指定大小的实例时,我得到了

HEAPEXT: !heap invalid option flag '-l'
Platform dependent usage:             
THIS EXTENSION SUPPORTS THE SEGMENT HEAP AND THE NT HEAP

相同的命令在经典 WinDbg 中按预期工作。对于同一个堆,我还从 !heap -stat -h 命令获得不同的输出 - 例如在经典的 WinDbg 中,输出是一个包含按大小分组的对象的表格。

是否需要进行其他配置才能启用这些命令?

【问题讨论】:

  • 我有同样的问题

标签: windbg


【解决方案1】:

我遇到了同样的问题,并联系了 windbg 开发人员。

你可以这样做: !heap -s -h -b 10

注意 -b 10,这就像大小的粒度。你可以把它放到 -b 1 中,以模拟与以前相同的结果,并基本上列出每个块大小的分配量。

然后接下来: !heap -s -h -a -d ,这将显示分配。

然后您可以使用 !heap -p -a 等。 !heap -p -a 在最新版本中似乎确实被破坏了,但 windbg 开发人员正在使用它。临时解决方法是使用应用程序验证程序和!avrf -hp -a。

如果出现更多问题,请告诉我。

【讨论】:

    猜你喜欢
    • 2011-10-04
    • 2015-01-10
    • 2014-07-04
    • 2012-05-04
    • 1970-01-01
    • 2014-02-11
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多