问题 从任务管理器生成的进程转储类型


从Windows Vista开始,现在可以从任务管理器生成进程转储。通常我通过使用Adplus或从Windbg直接生成进程转储。如果我使用其中一个选项,我必须提供一些带有my命令的开关,以便描述生成了什么类型的转储。鉴于当我从任务管理器生成进程转储时隐藏了所有这些细节,是否有人知道它是什么类型的转储以及它包含什么?我记得在某个地方读过从任务管理器生成的进程转储不包含句柄表的详细信息。关于这个的任何想法?


5242
2017-12-09 16:17


起源

这是一个很大的,包括套件和cabo​​odle。 - Hans Passant


答案:


转储是“具有完整内存的用户迷你转储文件”,因此对于大多数任务而言,您都很好。

但是,您无法指定应在某个特定事件中创建转储。 adplus和procdump等工具允许您为各种条件(例外,工作负载等)创建转储。所以基本上任务管理器只支持给我一个过程的快照(可用于挂起过程)。对于其他情况,您需要使用adplus或procdump。

此外,您应该知道64位Windows附带两个版本的任务管理器。 64位管理器将创建64位转储 - 即使对于32位进程(即转储将包含运行32位进程所需的Wow64内容)。但是,如果您使用32位版本的任务管理器(位于\ Windows \ SysWOW64),您将获得正确的32位转储。


13
2017-12-09 16:37



感谢Brian的回复。我的问题是关于通过任务管理器进行转储的类型。它是类似.dump / ma还是.dump / mt或其他等等。我在分析通过任务管理器生成的转储文件时注意到的一件事是我运行时没有得到任何东西!handle命令。我认为可能是因为dump没有句柄数据 - palm snow
它生成一个“具有完整内存的用户迷你转储文件”,它应该与.dump / ma命令相同。但是,我刚刚确认我没有得到任何数据!处理。有意思(太糟糕了,我再也无法提出你的问题......) - Brian Rasmussen
至少它重新确认我不是疯了:)我猜它仍然是一个谜,为什么迷你转储与完整的记忆不包括句柄表 - palm snow