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

内核模式内存转储文件可由 KD 分析。 创建转储文件的处理器或 Windows 版本不必与运行 KD 的平台一致。

启动 KD

若要分析转储文件,请使用 -z 命令行选项启动 KD:

kd -ySymbolPath-iImagePath-zDumpFileName

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

也可以使用 .opendump (打开转储文件)命令在调试器运行之后打开转储文件,后跟 g (Go)

可以同时调试多个转储文件。 这可以通过在命令行上加入多个 -z 开关(每个开关后跟一个不同的文件名),或使用 .opendump 添加额外的转储文件作为调试器目标来完成。 有关如何控制多目标会话的信息,请参阅调试多个目标

转储文件通常以扩展名.dmp或 .mdmp 结尾。 可以将网络共享或通用命名约定 (UNC) 文件名用于内存转储文件。

将转储文件打包到 CAB 文件中也很常见。 如果在 -z 选项后指定文件名(包括 .cab 扩展名),或者作为 .opendump命令的参数,调试器可以直接从 CAB 读取转储文件。 但是,如果单个 CAB 中存储了多个转储文件,调试器将只能读取其中一个。 调试器不会从 CAB 读取任何其他文件,即使它们是符号文件或与转储文件关联的其他文件。

分析转储文件

如果要分析内核内存转储或小型内存转储,则可能需要将可执行映像路径设置为指向在崩溃时可能已加载到内存中的任何可执行文件。

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

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

.bugcheck(显示 Bug 检查数据)显示 Bug 检查代码及其参数。 有关特定错误的信息,请在 Bug 检查代码参考中查找此 Bug 检查。

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

lm

!kdext*.locks

!memusage

!vm

!errlog

!process 0 0

!process 0 7

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