.dump(创建转储文件)

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

.dump [options] FileName
.dump /?

参数

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

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

/b[a]
CAB 中的包转储和删除转储。 如果 指定了 选项 ,则包含其他信息。

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

/j <addr>
提供JIT_DEBUG_INFO地址。

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

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

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

(用户模式:不支持 ) 。 以前,此选项将创建 完整的用户模式转储,这是一种旧格式,其信息比较新的小型转储格式少。 有关详细信息,请参阅 User-Mode 转储文件的品种

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

FullOption 效果
y 将 AVX 寄存器信息添加到转储文件。

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

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

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

内核模式选项

以下选项在内核模式下可用。

/K
仅使用内核内存创建转储。

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

其他信息

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

注解

此命令可用于各种情况:

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

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

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

可以控制将生成哪种类型的转储文件:

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

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

不能指定转储的进程。 将转储所有正在运行的进程。

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

以下示例将创建包含完整内存和句柄信息的用户模式微型转储:

0:000> .dump /mfh myfile.dmp

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

另请参阅

内核模式转储文件的种类