文章編號: 315263 - 上次校閱: 2011年5月15日 - 版次: 5.0

如何讀取 Windows 偵錯時所建立的小記憶體傾印檔案

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

如果要繼續收到 Windows XP的安全性更新,請確定您執行的是 Windows XP (含 Service Pack 3 (SP3))。如需詳細資訊,請參閱此 Microsoft 網頁: 已結束針對部分 Windows 版本的支援 (英文) (http://windows.microsoft.com/zh-tw/windows/help/end-support-windows-xp-sp2-windows-vista-without-service-packs?os=xp)

在此頁中

全部展開 | 全部摺疊

結論

本文將逐步告訴您,如何檢查小記憶體傾印檔案。 您可以使用這個檔案,以判斷電腦停止回應的原因。

小記憶體傾印檔案

小記憶體傾印檔案會記錄有助於識別電腦意外停止的原因的小量有用資訊。這個選項要求在開機磁碟區上至少保留 2 MB 的分頁檔。在執行 Microsoft Windows 2000 或更新版本的電腦上,每當電腦意外地停止時,Windows 就會建立新的檔案。這些檔案的歷程記錄會儲存在資料夾中。

此傾印檔案類型包含下列資訊:
  • 「停止」訊息、訊息的參數及其他資料
  • 已載入的驅動程式清單
  • 已停止處理器的處理器內容 (PRCB)
  • 已停止處理器的程序資訊和 Kernel 內容 (EPROCESS)
  • 已停止執行緒的程序資訊及 Kernel 內容 (ETHREAD)
  • 已停止執行緒的 Kernel 模式呼叫堆疊
當硬碟空間有限時,小記憶體傾印檔案就很有用。然而,由於所包含的資訊有限,因此,如果不是發生問題時正在執行的執行緒直接造成錯誤,可能無法藉由分析這個檔案來發現問題原因。

如果發生第二個問題,並且 Windows 建立了第二個小記憶體傾印檔案,Windows 會保留前一個檔案。Windows 會以日期編碼做為每個檔案的檔名。例如,Mini022900-01.dmp 就是 2000 年 2 月 29 日所產生的第一個記憶體傾印檔案。Windows 會將所有小記憶體傾印檔案的清單保存在 %SystemRoot%\Minidump 資料夾中。

設定傾印類型

如果要將啟動及修復選項設定為使用小記憶體傾印檔案,請執行下列步驟。

注意 由於 Microsoft Windows 有多種版本,因此下列步驟可能會依您的電腦而有所差異。如有需要,請參閱您的產品說明文件,以完成這些步驟。
  1. 按一下 [開始],指向 [設定],再按一下 [控制台]
  2. 按兩下 [系統]
  3. 按一下 [進階] 索引標籤,然後按一下 [啟動及修復] 下的 [設定]
  4. [撰寫偵錯資訊] 清單中,按一下 [小記憶體傾印 (64k)]

    如果要變更小記憶體傾印檔案的資料夾位置,請在 [傾印檔案] 方塊 (或 [小傾印目錄] 方塊,視您的 Windows 版本而定) 中,輸入新的路徑。

讀取小記憶體傾印檔案的工具

您可以使用「傾印檢查公用程式」(Dumpchk.exe),來載入小記憶體傾印檔案,也可以使用 Dumpchk.exe,來確認是否已經正確地建立記憶體傾印檔案。「傾印檢查公用程式」不需要存取偵錯符號。「傾印檢查公用程式」是隨附於 Microsoft Windows 2000 支援工具及 Microsoft Windows XP 支援工具中。

如需有關如何在 Windows 2000 及 Windows NT 中使用「傾印檢查公用程式」的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
156280? (http://support.microsoft.com/kb/156280/ ) How to use Dumpchk.exe to check a memory dump file
如需有關如何在 Windows XP 中使用「傾印檢查公用程式」的詳細資訊,請按一下下面的文件編號,檢視「 Microsoft 知識庫」中的文件:
315271? (http://support.microsoft.com/kb/315271/ ) 如何使用 Dumpchk.exe 來檢查記憶體傾印檔案
注意 Microsoft Windows Server 2003 支援工具中並未包含「傾印檢查公用程式」。如果取得適用於 Microsoft Windows Server 2003 的「傾印檢查公用程式」,請從下列 Microsoft 網站下載及安裝 Windows 套件的偵錯工具:
http://www.microsoft.com/taiwan/whdc/ddk/debugging/default.mspx (http://www.microsoft.com/taiwan/whdc/ddk/debugging/default.mspx)
此外,您也可以使用 WinDbg 工具或 KD.exe 工具來讀取小記憶體傾印檔案。WinDbg 及 KD.exe 均隨附於 Windows 套件的最新版偵錯工具中。
這個網站還提供了適用於 Windows 的可下載符號套件。 如果要使用這些資源,請在將要存放所下載的本機符號,或符號伺服器所使用符號快取的磁碟機上建立資料夾。例如,使用 C:\Symbols。 您可以將下列符號路徑與本文所述的所有命令搭配使用:
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
如果您將符號下載到本機資料夾,請使用該資料夾的路徑做為符號路徑。

如需有關 Windows 傾印檔案選項的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件。
254649? (http://support.microsoft.com/kb/254649/ ) Windows 2000、Windows XP 和 Windows Server 2003 中記憶體傾印檔案選項的概觀

安裝偵錯工具

如果要下載及安裝 Windows 偵錯工具,請造訪下列 Microsoft 網站:
http://www.microsoft.com/taiwan/whdc/ddk/debugging/default.mspx (http://www.microsoft.com/taiwan/whdc/ddk/debugging/default.mspx)
選取「一般」安裝。依照預設,安裝程式會將偵錯工具安裝在下列資料夾中:
C:\Program Files\Debugging Tools for Windows

開啟傾印檔案

安裝完成之後,如果要開啟傾印檔案,請依照下列步驟執行:
  1. 按一下 [開始],再按一下 [執行],輸入 cmd,然後按一下 [確定]
  2. 切換到 Debugging Tools for Windows 資料夾。 如果要執行這項操作,在命令提示字元中輸入下列行,然後按下 ENTER:
    cd c:\program files\debugging tools for windows
  3. 如果要將傾印檔案載入偵錯程式,請輸入下列其中一個字元,然後按下 ENTER:
    windbg -y SymbolPath -i ImagePath -z DumpFilePath
    kd -y SymbolPath -i ImagePath -z DumpFilePath
下列表格說明這些命令列中所使用的預留位置用法。
摺疊此表格展開此表格
預留位置說明
SymbolPath已經下載符號檔案的本機路徑,或符號伺服器的路徑,其中包括快取資料夾。 由於小記憶體傾印檔案包含有限的資訊,因此,實際的二進位檔案必須與傾印檔案的符號一起載入,才能正確地讀取。
ImagePath這些檔案的路徑。檔案包含在 Windows XP CD-ROM 的 I386 資料夾中。例如,路徑可能是 C:\Windows\I386。
DumpFilePath您正在檢查的傾印檔案的路徑與檔名。

範例命令

您可以使用下列範例命令來開啟傾印檔案。這些命令假設如下:
  • Windows CD-ROM 上 I386 資料夾的內容已複製到 C:\Windows\I386 資料夾中。
  • 您的傾印檔案名稱為 C:\Windows\Minidump\Minidump.dmp。
範例 1:
kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp
範例 2:如果您偏好圖形版本的偵錯工具,而非命令列版本,請改為輸入下列命令:
windbg -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp

檢查傾印檔案

您可以使用數種命令來收集傾印檔案中的資訊,其中包括下列命令:
  • !analyze -show 命令會顯示「停止」錯誤碼及其參數。 「停止」錯誤碼也稱為錯誤檢查碼。
  • !analyze -v 命令會顯示詳細的輸出。
  • lm N T 命令會列出指定載入的模組。輸出包括模組的狀態及路徑。
注意 !drivers 延伸命令會顯示目的地電腦上所載入的所有驅動程式清單,以及有關驅動程式記憶體使用的摘要資訊。!drivers 延伸命令已經在 Windows XP 及更新的版本中遭到淘汰。如果要顯示有關所載入驅動程式及其他模組的資訊,請使用 lm 命令。lm N T 命令會使用類似原先 !drivers 延伸命令的格式來顯示資訊。

如需其他命令的說明及完整的命令語法,請參閱偵錯工具的說明文件。 您可以從下列位置找到偵錯工具的說明文件:
C:\Program Files\Debugging Tools for Windows\Debugger.chm
注意 如果發生任何與符號相關的問題,請使用 Symchk 公用程式,以確認是否正確地載入正確的符號。 如需有關使用 Symchk 的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
311503? (http://support.microsoft.com/kb/311503/ ) Use the Microsoft Symbol Server to obtain debug symbol files

使用批次檔簡化命令

在您識別出必須用來載入記憶體傾印的命令之後,就可以建立批次檔來檢查傾印檔案。例如,建立批次檔並命名為 Dump.bat。將該檔儲存在安裝偵裝工具的資料夾中。在批次檔中輸入下列文字:
cd "c:\program files\debugging tools for windows"

kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z %1
當您想要檢查傾印檔案時,請輸入下列命令,將傾印檔案路徑傳送到批次檔中:
dump c:\windows\minidump\minidump.dmp

這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Windows Vista 商用進階 64 位元版
  • Windows Vista 家用入門 64 位元版
  • Windows Vista 家用進階 64 位元版
  • Windows Vista 旗艦 64 位元版
  • Windows 7 Beta
  • Windows Vista 商用入門版
  • Windows Vista 商用入門 64 位元版
  • Windows Vista Business N
  • Windows Vista Business N 64-bit Edition
  • Windows Vista 商用進階版
  • Windows Vista 家用入門版
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista 家用進階版
  • Windows Vista 旗艦版
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
關鍵字:?
kbhowto kbenv kbinfo KB315263
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。