活动内存转储类似于完整的内存转储,但它会筛选出那些不太可能与主机计算机上的故障问题排查相关的页面。 由于此筛选,它通常比完整的内存转储要小得多。
此转储文件确实包含分配给用户模式应用程序的任何内存。 它还包括分配给 Windows 内核和硬件抽象层(HAL)的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存。 转储包括映射到内核或用户空间的活动页,这些页面对调试非常有用,还包括选定的由Pagefile 支持的过渡页、待机页和已修改页,例如,使用VirtualAlloc分配的内存或由页面文件支持的分区。 活动转储不包括空闲页和清零页列表、文件缓存、虚拟机来宾页以及在调试过程中不太可能有用的其他各种类型的内存。
当 Windows 托管虚拟机(VM)时,活动内存转储特别有用。 获取完整的内存转储时,将包含每个 VM 的内容。 当有多个虚拟机运行时,这可能会占用主机系统上的大量内存。 很多时候,感兴趣的代码活动位于父主机 OS 中,而不是子 VM。 有活动的内存转储会过滤掉与所有子 VM 关联的内存。
默认情况下,活动内存转储文件将写入 %SystemRoot%\Memory.dmp。
主动内存转储在 Windows 10 及更高版本中可用。
注意 若要在调试活动内存转储时禁止显示缺少的页面错误消息,请使用 .ignore_missing_pages 命令。