【发布时间】:2010-03-23 20:42:12
【问题描述】:
我正在使用 windbg 的 !heap 命令,特别是用于检测内存泄漏的“-l”开关。
当 -l 确实检测到泄漏时,我在从其结果导航到泄漏源的堆栈跟踪时遇到问题。
这是 !heap -l 的结果的 sn-p。格式已更改,以使输出更具可读性。
0:066> !heap -l 在内存中搜索潜在的无法访问的繁忙块。
进入用户堆段
0324b500 0324b508 01580000 03230000
0324b520 0324b528 01580000 03230000
(为简单起见,省略了 Size、PrevSize、Unused 和 Flags 列。)
Windbg 的 !heap 文档告诉我将 dt _DPH_BLOCK_INFORMATION 与标头地址一起使用,然后将 dds 与块的 StackTrace 字段一起使用。但是 !heap -l 的输出没有指定标头地址!它只指定条目、用户、堆和段。我绞尽脑汁查看其他命令,但不知道如何从这些字段中获取标题地址。有人可以帮忙吗?
【问题讨论】:
标签: windbg