.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 扩展命令读取句柄信息。