2011-12-09 40 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不包括處理表 –