2011-12-09 80 views
11

从Windows Vista开始,现在可以从任务管理器生成进程转储权。通常我通过使用Adplus或从Windbg获得流程转储。如果我使用这些选项之一,则必须使用我的命令提供一些开关,以便描述生成的转储类型。鉴于当我从任务管理器生成流程转储时,所有这些细节都隐藏起来了,是否有人知道它是什么类型的转储以及它包含的内容?我记得在某处读取任务管理器生成的进程转储不包含句柄表上的细节。对此也有任何想法?从任务管理器生成的进程转储类型

+3

这是一个很大的包,包和套件。 –

回答

13

转储是一个“带有完整内存的用户迷你转储文件”,因此对于大多数任务来说你都很好。

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

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

+0

感谢Brian的回复。我的问题真的是关于通过任务管理器转储的转储类型。它是类似.dump/ma还是.dump/mt或其他东西等等。我在分析通过任务管理器生成的转储文件时注意到的一件事是,当我运行!handle命令时,我什么也没得到。我认为这可能是因为转储没有处理数据 –

+2

它会生成一个“带有完整内存的用户迷你转储文件”,它应该与.dump/ma命令相同。但是,我刚刚证实我没有得到任何数据!有趣的(太糟糕了,我不能upvote你的问题再次...) –

+1

atleast其重新确保我不疯狂:)我想它仍然是一个神秘的为什么迷你转储满memeory不包括处理表 –