.dump(创建转储文件)

.dump 命令创建用户模式或内核模式故障转储文件。

.dump [options] FileName
.dump /?

参数

选项
代表以下一个或多个选项。

/a
为所有进程创建转储(需要 -u)。

/b[a]
将转储打包到 CAB 中并删除转储。 如果指定了 a 选项,则会包含附加信息。

/c <注释>
添加注释(并非所有格式都支持)。

/j <addr>
提供 JIT_DEBUG_INFO 地址。

/o
覆盖同名的现有转储文件。 如果未使用此选项,并且存在具有相同文件名的文件,则不会写入转储文件。

/u
将唯一标识符追加到转储名称中。

/f[FullOptions]
(内核模式:)创建完整的内存转储

(用户模式:)不支持。 以前,此选项会创建完全用户模式,这是一种传统格式,其信息少于较新的小型转储格式。 有关详细信息,请参阅用户模式转储文件的类型

可以添加以下 FullOptions 来更改转储文件的内容;该选项区分大小写。

FullOption 效果
y 将 AVX 注册信息添加到转储文件。

/m[MiniOptions]
创建小型内存转储(在内核模式)或小型转储(在用户模式下)有关详细信息,请参阅用户模式转储文件。 如果 /f /m 均未指定,则默认为/m

在用户模式下,/m 后可跟其他 MiniOptions,指定要包含在转储中的额外数据。 如果未包含 MiniOptions,转储将包括模块、线程和堆栈信息,但不包含额外数据。 可以添加以下任一 MiniOptions 来更改转储文件的内容;它们区分大小写。

MiniOption 效果
a 创建包含所有可选添加的小型转储。 /ma 选项等同于 /mfFhut,它会在小型转储中添加完整内存数据、处理数据、未加载模块信息、基本内存信息和线程时间信息。 任何读取不可访问内存的失败都会导致小型转储生成终止。
A /mA 选项等同于 /ma,但它会忽略读取不可访问内存的任何失败,并继续生成小型转储。
f 将完整内存数据添加到小型转储。 目标应用程序拥有的所有可访问提交页面都将包括在内。
周五 将所有基本内存信息添加到小型转储。 这会向小型转储添加包含所有基本内存信息的流,而不仅仅是有效内存的相关信息。 这样,调试器就可以在调试小型转储时重建进程的完整虚拟内存布局。
h 将与目标应用程序相关的句柄数据添加到小型转储。
u 将未加载的模块信息添加到小型转储。
t 将其他线程信息添加到小型转储。 这包括线程时间,在调试小型转储时,可以使用 !runaway 扩展或 .ttime(显示线程时间)命令来显示线程时间。
i 将辅助内存添加到小型转储。 辅助内存是堆栈或后备存储上指针引用的任何内存,以及围绕此地址的一小块区域。
p 将进程环境块 (PEB) 和线程环境块 (TEB) 数据添加到小型转储。 如果需要访问有关应用程序进程和线程的 Windows 系统信息,这非常有用。
w 将所有提交的读写专用页面添加到小型转储。
d 将可执行映像中的所有读写数据段添加到小型转储。
c 在映像中添加代码节。
r 从小型转储中删除对重新创建堆栈跟踪无用的堆栈和存储内存部分。 局部变量和其他数据类型值也会被删除。 此选项不会使小型转储变小(因为这些内存部分只是被清零),但如果要保护其他应用程序的隐私,它会很有用。
R 从小型转储中删除完整的模块路径。 仅包含模块名称。 如果要保护用户目录结构的隐私,这是一个有用的选项。
y 将 AVX 注册信息添加到转储文件。

内核模式选项

内核模式中提供以下选项:

/k
仅创建包含内核内存的转储。

/ka
使用活动内核和用户模式内存创建转储。

其他信息

有关内核模式转储文件的说明及其使用说明,请参阅内核模式转储文件。 有关用户模式转储文件的说明及其使用说明,请参阅用户模式转储文件

注解

此命令可用于多种情况:

  • 在实时用户模式调试期间,此命令指示目标应用程序生成转储文件,但目标应用程序不会终止。

  • 在实时内核模式调试期间,此命令指示目标计算机生成转储文件,但目标计算机不会崩溃。

  • 在故障转储调试期间,此命令从旧故障转储文件创建新的故障转储文件。 如果您有大型的故障转储文件,并且想要创建较小的故障转储文件,这将非常有用。

您可以控制生成的转储文件类型:

  • 在内核模式下,若要生成完整的内存转储,请使用 /f 选项。 若要生成小型内存转储,请使用 /m 选项(或无选项)。 .dump 命令无法生成内核内存转储

  • 在用户模式下,.dump /m[MiniOptions] 是最佳选择。 虽然“m”代表“小型转储”,但使用此 MiniOption 创建的转储文件的大小不等,有的很小,有的很大。 通过指定适当的 MiniOptions,可以准确控制包含的信息。 例如,.dump /ma 生成包含大量信息的转储。 旧命令 .dump /f 生成中等大的“标准转储”文件,且不能自定义。

无法指定转储的进程。 所有正在运行的进程都将被转储。

/xc/xr/xp/xt 选项用于在转储文件中存储异常和上下文信息。 这允许在此转储文件上运行 .ecxr(显示异常上下文记录)命令。

以下示例将创建一个用户模式小型转储,其中包含完整内存和句柄信息:

0:000> .dump /mfh myfile.dmp

可以使用 !handle 扩展命令读取句柄信息。

另请参阅

内核模式转储文件的种类

.ecxr