使用 WinDbg 分析内核模式转储文件

可以使用 WinDbg 分析内核模式内存转储文件。

启动 WinDbg

转储文件通常以扩展名 .dmp.mdmp 结尾。 可以将网络共享或通用命名约定文件名用于内存转储文件。 用于创建转储文件的处理器或 Windows 版本不需要与运行 KD 的平台匹配。

若要分析转储文件,请启动 WinDbg 并包含 -z 命令行选项:

windbg -y <SymbolPath> -i <ImagePath> -z <DumpFileName>

-v 选项(详细模式)也很有用。 有关选项的完整列表,请参阅 WinDbg 命令行选项

如果 WinDbg 已在休眠模式下运行,请通过选择 “文件”|打开故障转储打开故障转储 菜单命令或按 Ctrl+D。 出现“ 打开故障转储 ”对话框时,在“ 文件名”中输入故障转储文件的完整路径和名称,或使用对话框选择路径和文件名。 指定文件后,选择“ 打开”。

或者在调试器运行后,使用 .opendump (打开转储文件) 命令打开转储文件 ,然后使用 g (Go) 命令。

可以同时调试多个转储文件。 在命令行上包括多个 -z 开关,每个开关后跟不同的文件名,或运行 .opendump 以添加其他转储文件作为调试器目标。 有关如何控制多目标会话的详细信息,请参阅 调试多个目标

转储文件可以打包到 CAB 文件中。 如果指定文件名(包括 .cab 文件扩展名),请在 -z 选项之后指定或作为 .opendump 命令的参数,则调试器将直接读取转储文件。

如果单个 CAB 文件中存储了多个转储文件,则调试器仅读取其中一个转储文件。 即使存在符号文件或与转储文件关联的其他文件,调试器也不会从 CAB 读取任何其他文件。

分析转储文件

若要分析内核内存转储或小型内存转储,可能需要将可执行映像路径设置为在崩溃期间指向内存中的可执行文件。

转储文件的分析类似于实时调试会话的分析。 有关可用于在内核模式下调试转储文件的命令的详细信息,请参阅 调试器命令 参考部分。

在大多数情况下,首先使用 !analyze。 此扩展命令对转储文件执行自动分析,这通常提供有用的信息。

.bugcheck (显示 bug 检查数据) 命令显示 bug 检查代码及其参数。 有关特定错误的信息,请参阅 Bug 检查代码参考

以下调试器扩展对于分析内核模式故障转储特别有用:

有关从转储文件读取特定类型信息的技术,请参阅 从转储文件中提取信息