.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 扩展命令读取句柄信息。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈