当正在运行的 Windows 应用程序意外停止或崩溃时,您的系统会生成一个“故障转储文件”来保存崩溃事件发生之前的信息。阅读这些故障转储文件可能会帮助您找到错误原因并对其进行故障排除。了解如何读取Windows 创建的小型内存转储文件。
读取小型内存转储 (DMP) 文件
一个小的内存转储文件记录了最小的有用信息集,这些信息可以帮助您查明应用程序崩溃或意外停止的原因。每次您的计算机意外停止时,较新版本的 Windows 都会自动创建一个新文件。与这些文件相关的历史记录存储在该%SystemRoot%Minidump文件夹中。转储文件类型包含以下信息:
Stop 消息及其参数和其他数据
加载的驱动程序列表
停止的处理器的处理器上下文 (PRCB)
已停止进程的进程信息和内核上下文 (EPROCESS)
已停止线程的进程信息和内核上下文 (ETHREAD)
已停止线程的内核模式调用堆栈。
用户可以使用Windows 调试器 (WinDbg.exe)工具读取小内存转储文件。它 (WinDbg) 作为最新版本的 Windows 调试工具包的一部分提供。
您可以将调试工具安装为 Windows 软件开发工具包 (SDK) 中的独立组件。
在安装过程中,当 SDK 安装向导出现时,选中标记为Windows 调试工具的复选框。此操作将使您能够将调试工具安装为 Windows 软件开发工具包 (SDK) 中的独立组件。
设置 Windows 调试器后,通过从“文件”菜单中选择“打开故障转储”选项或按 CTRL+D 打开转储。
当计算机屏幕上弹出“打开故障转储”对话框时,在“文件名”框中输入故障转储文件的完整路径和名称,或使用对话框选择正确的路径和文件名。
现在,选择了正确的文件后,选择Open。
等待几秒钟以允许转储文件加载,因为它连接到 Internet 并下载所需的符号以显示在读数中。
您应该会看到一条消息,内容为 – Debugee not connected。
成功下载所有符号后,转储文本底部应显示以下消息 – Followup: MachineOwner。
在转储窗口底部的命令栏中输入命令以分析转储文件。!analyze -v您应该会在Bugcheck Analysis下看到一个链接。
点击链接以!analyze -v在页面底部的提示中输入命令。
完成后,详细的错误检查分析应该会占据屏幕空间。
向下滚动到它显示的部分STACK_TEXT 。STACK_TEXT 字段显示故障组件的堆栈跟踪。在这里,您会发现数字行,每行后跟一个冒号和一些文本。该文本应该可以帮助您确定崩溃的原因以及导致崩溃的服务(如果适用)。
使用!analyze扩展获取更多详细信息。不要忘记使用-v, 选项来完全详细地显示数据。
执行时,’!analyze’ 命令将确定可能导致错误的指令并将其显示在 FOLLOWUP_IP 字段中。
SYMBOL_NAME – 显示符号
MODULE_NAME – 显示模块
IMAGE_NAME – 显示图片名称
DEBUG_FLR_IMAGE_TIMESTAMP – 显示与该指令对应的图像时间戳
采取必要的措施来解决问题!
您还可以使用命令行工具Dumpchk.exe 检查内存转储文件。
您可以使用故障转储分析器软件来分析故障转储报告。
或者,您可以使用WhoCrashed Home Edition单击一下即可检查错误。该工具对 Windows 内存转储进行事后崩溃转储分析,并以易于理解的方式呈现所有收集到的信息。
如何读取小型转储 DMP 文件?
要在 Windows 11/10 上读取 Small Memory Dump (DMP) 文件,您可以按照上述步骤操作。首先,您需要找到该文件。为了您的信息,您可以前往 %SystemRoot%Minidump 文件夹并找到您想要阅读的确切文件。然后,您可以相应地打开它并根据您的要求开始分析文件。
如何在 Windows 中打开 .DMP 文件?
要在 Windows 中打开 .DMP 文件,您需要使用 WinDbg。为此,右键单击 WinDbg 并选择以管理员身份运行选项。接下来,您可以单击“文件”菜单并选择要阅读或打开的文件。供您参考,Windows 将所有 DMP 文件存储在 %SystemRoot%Minidump 文件夹中。