可以使用 WinDbg 分析内核模式内存转储文件。
启动 WinDbg
转储文件通常以扩展名 .dmp 或 .mdmp 结尾。 可以将网络共享或通用命名约定文件名用于内存转储文件。 用于创建转储文件的处理器或 Windows 版本不需要与运行 KD 的平台匹配。
若要分析转储文件,请启动 WinDbg 并包括 -z 命令行选项:
windbg -y <SymbolPath> -i <ImagePath> -z <DumpFileName>
-v 选项(详细模式)也很有用。 有关选项的完整列表,请参阅 WinDbg 命令行选项。
如果 WinDbg 已在休眠模式下运行,请通过选择 文件 | 打开故障转储 菜单命令或按 Ctrl+D。 出现 “打开故障转储 ”对话框时,在 文件名中输入故障转储文件的完整路径和名称,或使用对话框选择路径和文件名。 指定文件后,选择“ 打开”。
可以在调试器启动后,通过使用 .opendump (打开转储文件) 命令,并随后以 g (Go) 命令来打开转储文件。
你可以同时调试多个转储(dump)文件。 在命令行中使用多个 -z 参数,每个参数后跟不同的文件名,或者运行 .opendump 以将其他转储文件添加为调试器目标。 有关如何控制多目标会话的详细信息,请参阅 调试多个目标。
转储文件可以打包到 CAB 文件中。 如果在 -z 选项后指定文件名(包括 .cab 文件扩展名),或者指定为 .opendump 命令的参数,调试器将直接读取转储文件。
如果 CAB 文件包含多个转储文件,调试器将只读取其中一个转储文件。 即使存在符号文件或与转储文件关联的其他文件,调试器也不会从 CAB 读取任何其他文件。
分析转储文件
若要分析内核内存转储或小型内存转储,可能需要将可执行映像路径设置为在崩溃期间指向内存中的可执行文件。
分析转储文件类似于分析实时调试会话。 有关可用于在内核模式下调试转储文件的命令的详细信息,请参阅 调试器命令 参考部分。
在大多数情况下,首先使用 !analyze。 此扩展指令对转储文件执行自动分析,该转储文件通常提供有用的信息。
.bugcheck (显示 bug 检查数据)命令显示 bug 检查代码及其参数。 有关特定错误的信息,请参阅 Bug 检查代码参考。
以下调试器扩展对于分析内核模式故障转储特别有用:
有关从转储文件读取特定类型信息的方法,请参阅 从转储文件中提取信息。