/ Windows / 96浏览

Windows Dump 分类

引入

Windows 上 Dump 文件主要分为内核模式 Dump 文件和 用户模式 Dump 文件。

内核模式 Dump 文件有:

用户模式 Dump 文件分为:

内核模式 Dump

以下是内核模式下 dump 的对比

类型大小包含的信息用途默认存储位置
完整内存转储 (Complete Memory Dump)等于物理内存的大小整个系统的RAM内容,包括正在运行的进程、驱动程序以及内核用于进行深入分析和调试,尤其是在需要全面了解系统状态时%SystemRoot%Memory.dmp
内核内存转储 (Kernel Memory Dump)小于物理内存大小(转储文件的大小约为系统上物理内存的三分之一),但比小型转储大它仅包括分配给 Windows 内核和硬件抽象层 (HAL) 的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存,不包含未分配的内存或用户空间程序的信息适用于大多数系统故障分析,因为它包含了大部分对调试有用的信息,而且大小适中%SystemRoot%Memory.dmp
小内存转储 (Small Memory Dump)最小,256KB包括最基本的信息,如停止错误的参数和一些内存信息,足够用来诊断常见错误用于快速分析和诊断常见的系统问题,占用空间小,影响最小%SystemRoot%Minidump 目录中
自动内存转储 (Automatic Memory Dump)大小介于内核内存转储和完整内存转储之间默认与内核转储相同,Windows会根据系统配置和状态自动调整大小和包含的信息Windows 8和更高版本引入,旨在自动选择最合适的转储类型,以便进行故障分析%SystemRoot%Memory.dmp
活动内存转储 (Active Memory Dump)大小介于内核内存转储和完整内存转储之间类似完整内存转储,包括所有活动内核模式内存和用户模式内存,但不包括空闲内存页面Windows Server 2012和更高版本用于服务器,以减少转储大小同时保留重要信息%SystemRoot%Memory.dmp

用户模式下 Dump

以下是用户模式下 dump 的对比

类型大小包含的信息用途
完整用户模式转储 (Full User-Mode Dumps)可以非常大,取决于应用程序的内存使用情况包括应用程序的完整内存镜像,包括所有堆栈、线程、句柄和加载的模块等信息用于深入分析应用程序的状态和行为,尤其适合复杂的问题,需要全面了解应用程序的状态时使用
小型转储 (Minidumps)相对较小,可以配置为包含不同级别的信息,从几KB到几MB可以包含不同的信息集,包括但不限于堆栈跟踪、模块列表、线程信息、和部分内存区域等用于快速诊断应用程序的问题。由于它们较小,可以更容易地被传输和分析。常用于初步故障排除

完整用户模式转储 (Full User-Mode Dumps)

优点:提供了应用程序当前状态的全面视图,包含所有必要的信息来进行深入分析。

缺点:文件大小可能非常大,特别是对于内存使用量大的应用程序,这可能会导致分析过程中的性能问题和存储问题。

小型转储 (Minidumps)

优点:小而灵活,可以根据需要包含不同级别的信息,便于快速传输和分析。

缺点:可能不包含解决问题所需的所有信息,有时需要结合多个小型转储或请求更详细的转储来全面分析问题。

总结

选择哪种类型的用户模式转储文件,主要取决于你需要解决的问题的性质、所需的信息详细程度以及资源的可用性。对于大多数日常的应用程序调试,小型转储通常足够使用;而对于更复杂或难以重现的问题,则可能需要完整的用户模式转储来获取足够的信息进行深入分析。

如何通过 C++ 实时监听 ETW 事件
如何通过 C++ 实时监听 ETW 事件
【译】调查并确定 Windows 运行速度变慢问题
【译】调查并确定 Windows 运行速度变慢问题
【译】丢失的 WPA 文档 —— 磁盘使用
【译】丢失的 WPA 文档 —— 磁盘使用
【译】丢失的 WPA 文档 —— CPU 调度
【译】丢失的 WPA 文档 —— CPU 调度
【译】丢失的 WPA 文档 —— CPU 采样
【译】丢失的 WPA 文档 —— CPU 采样
如何通过 PDH(Performance Data Helper) 获取性能计数器的值

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注