在WinDbg中分析私有字节的崩溃转储(托管堆除外)?

在WinDbg中分析私有字节的崩溃转储(托管堆除外)?,windbg,crash-dumps,memory-dump,Windbg,Crash Dumps,Memory Dump,我想解析完整的崩溃转储(*.dmp)文件并获取私有字节数据。我知道SysInternals的VMMap可以告诉我私有字节、堆等的数量,但我需要的是,如果我有转储,我应该能够解析它,并获得堆中的堆(托管堆)结构和数据。我已经通过阅读PEB和遍历堆完成了这项工作 我无法理解的是如何读取私有字节(而不是Heap,它应该是本机代码的进程数据)。任何人都可以告诉我正确的方向,这样我就能够解析崩溃转储中除堆之外的私有字节 谢谢 !address -summary 在第一部分中,您将获得使用情况的细分: -

我想解析完整的崩溃转储(*.dmp)文件并获取私有字节数据。我知道SysInternals的VMMap可以告诉我私有字节、堆等的数量,但我需要的是,如果我有转储,我应该能够解析它,并获得堆中的堆(托管堆)结构和数据。我已经通过阅读PEB和遍历堆完成了这项工作

我无法理解的是如何读取私有字节(而不是Heap,它应该是本机代码的进程数据)。任何人都可以告诉我正确的方向,这样我就能够解析崩溃转储中除堆之外的私有字节

谢谢

!address -summary
在第一部分中,您将获得使用情况的细分:

--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
Free                                    170          6f958000 (   1.743 Gb)           87.18%
<unknown>                               477           6998000 ( 105.594 Mb)  40.21%    5.16%
Stack                                   417           5d00000 (  93.000 Mb)  35.42%    4.54%
Image                                   253           3970000 (  57.438 Mb)  21.87%    2.80%
Heap                                     20            600000 (   6.000 Mb)   2.28%    0.29%
TEB                                      93             5d000 ( 372.000 kb)   0.14%    0.02%
Other                                     9             32000 ( 200.000 kb)   0.07%    0.01%
PEB                                       1              1000 (   4.000 kb)   0.00%    0.00%

VAR,如debugger.chm-繁忙区域中定义的。这些区域包括所有虚拟分配块、SBH堆、来自自定义分配器的内存,以及地址空间中不属于其他类别的所有其他区域。

您能澄清您的问题吗?您应该能够访问内存中由常用命令(x、dX、s等)保存的转储文件的任何位置,一旦您加载了转储文件,我就这样做了!地址-f:VAR下一步是什么?我只是得到一堆内存地址。了解它们的最佳方式是什么?请注意,在用法摘要中,还包括保留(计入虚拟字节计数器)。私有字节将接近状态摘要中的MEM_COMMIT减去类型摘要中的MEM_IMAGE。
!address -f:VAR