藍屏死機不用愁 -藉助 Debugging Tools 分析藍屏故障原因

Windows XP/Server 2003 和 Windows Vista 系統的藍屏死機故障是很多人心中永遠的痛。一旦 Windows 出現了藍屏死機,面對屏幕上有如天書一般的錯誤代碼,往往令人一籌莫展。如果遇到了藍屏死機,我們首先可以根據屏幕顯示的藍屏錯誤提示代碼初步判斷故障原因。微軟 KB 知識庫文章爲我們列出了一些常見藍屏錯誤提示的原因,例如 0x000000D1 錯誤,通常是由硬件設備驅動程序配置不當引起的;0x000000EA 錯誤,通常與顯卡顯示器設置不當有關,等等。但是,如果在微軟知識庫中找不到有關藍屏錯誤提示的說明,我們應該如何瞭解故障原因呢?

爲了幫助我們分析藍屏死機的觸發原因,Windows XP/Server 2003 和 Windows Vista 系統均爲我們提供了保存內存轉儲文件(Crash Dump File)的功能。我們可以在 Windows 中進入控制面板、打開“系統”屬性、切換到“高級”選項卡、然後打開“啓動和故障恢復”選項,在“寫入調試信息”下面選擇“小內存轉儲(64KB)”、“核心內存轉儲”或“核心內存轉儲”,以便在發生藍屏死機時自動保存內存轉儲文件,這樣我們就可以根據 Windows 在藍屏死機時記錄的內存轉儲文件判斷故障原因了。如附件的截圖所示。

內存轉儲文件是一個擴展名爲 .DMP 的文件。其中,“小內存轉儲”文件保存在 Windows\Minidump 文件夾中,文件大小爲 64KB,它只記錄有發生藍屏死機時的關鍵信息;“核心內存轉儲”及“完全內存轉儲”文件則保存在 Windows 文件夾中,文件名爲 MEMORY.DMP,它們分別記錄有發生藍屏死機時的核心內存信息和完整的內存信息。爲了節省硬盤空間,通常我們可以選擇“小內存轉儲”。

那麼,我們應如何通過 .DMP 內存轉儲文件分析藍屏死機的故障原因呢?這可以藉助微軟官方提供的 Debugging Tools for Windows 工具實現。我們可以到微軟官方網站的如下地址:

http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

下載 Debugging Tools 進行安裝,然後啓動 Debugging Tools,在程序主菜單中選擇“File(文件)”-“Open Crash Dump(打開內存轉儲文件)”,打開 .DMP 內存轉儲文件即可。Debugging Tools 可以自動爲我們分析內存轉儲文件在藍屏死機時記錄的內存信息,並從中分析可能的故障原因。

例如,曾經有一臺 Windows XP 計算機經常發生錯誤代碼爲 0x0000007F 的藍屏故障,原因未知。爲了調查故障原因,筆者在 Windows XP 中設置了保存“小內存轉儲文件(64KB)”。當計算機再次發生了 0x0000007F 藍屏故障、在重新啓動 Windows 後,使用 Debugging Tools 打開了這臺計算機保存於 Windows\Minidump 文件夾中的 .DMP 內存轉儲文件,Debugging Tools 經過自動分析後彈出了一份分析報告,報告這個錯誤“Probably caused by TM_CFW.SYS(可能是由 TM_CFW.SYS 文件引起的)”。原來,TM_CFW.SYS 位於 %SystemRoot%\system32\drivers 文件夾,它是趨勢的防火牆程序,用於將趨勢防火牆以系統服務的形式隨 Windows 啓動一同加載。經過回憶,這臺計算機正是在修改了趨勢防火牆程序的設置後經常出現 0x0000007F 藍屏錯誤的。因此,趨勢防火牆很可能出現了設置不當的問題。爲了證實這一猜想,筆者在 Windows XP 中通過“控制面板”-“添加刪除程序”卸載了趨勢防火牆,然後按照默認設置重新安裝了一遍,果然問題得以解決。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章