2020/08/05

Windows- Blue Screen藍屏當機畫面的基本分析方式

Win7藍白畫面(藍屏) 問題搜尋法
(轉錄自: PTT)
藍白畫面發生時常使人慌亂 尤其是神出鬼沒的發生時(Win7近來常見) 由於個電腦的差異性 如 硬體 軟體 組合之不同 即使 換硬體 升Driver 爬Google代碼 也不一定能確切抓出問題點 當藍白當機問題頻率低(難和店家要求換貨,且責任硬體軟體難確定) Google代碼也常因個人配備,OS,Driver不同 而難以鎖定問題目標 且板友難幫忙 故目前的技術論壇除錯法傾向將.dmp檔上傳 以供熱心網友解析 PS. 所謂.dmp檔 是發生STOP狀況(藍白畫面)時 Windows自動傾印的記錄檔 通常儲存在 C:\Windows\Minidump\*.dmp 和 C:\Windows\MEMORY.dmp

 

 

———–以下是自行分析dmp檔的辦法(for Win7,XP為最底下視頻)————–

Step.0 怎麼知道到底何時?為何?當機

開始 -> (搜尋程式及檔案)中填入”事件檢視器” -> 執行之
左側分頁內 -> 選”事件檢視器(本機)” -> “系統管理事件摘要”欄中 -> “重大” 和 “錯誤” 項 (藍屏問題記錄在此) -> 雙擊 某問題分類 列出發生時間並檢視代碼和傾印檔

Step.1 怎麼看.dmp檔?

到此 http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx 進入”Download Debugging Tools from the Windows SDK”這鏈結 ( http://go.microsoft.com/fwlink/?LinkID=191420 ) 下載 Winsdk_web 安裝時 其他不用選 只選 “Dubugging Tools for Windows”進行線上安裝 開始 -> 所有程式 -> Dubugging Tools for Windows -> Windbg File -> Open Crash Dump (選擇要開的.dmp檔) 列出的紀錄中 有鏈結字樣”!analyze -v” 點選可列出更細部資訊 ( 在此可用ctrl+F 搜尋在藍白畫面看到的關鍵字 以看到哪個軟硬體出問題 並了解問題代碼的意義 )

如何使用微軟的Debugging Tools分析記憶體傾印檔(Crash Dump File),以判斷Windows系統運作失敗的可能原因?
(出處: 這裡 03/23/2012)
Windows系統會突然出現當機、自動重開機或藍底白字(藍屏)的異常狀況,原因可能是系統設置錯誤、軟體異常、硬體故障或驅動程式異常等各種嚴重異常,導致Windows系統無法繼續運行。由於發生當機的原因很多,因此需要取得更多故障訊息來解決當機問題,當系統運行失敗時,系統會將記憶體傾印檔記錄下來,使用微軟的Debugging Tools分析記憶體傾印檔,可以協助判斷可能原因,請參考下述步驟說明。

1. 在Windows XP/Vista/7系統的【系統內容】→【進階】頁籤下的【啟動及修復】設定視窗中,預設會把系統失敗的偵錯資訊寫入記憶體傾印檔(如下圖)。

2. 參考上圖畫面設定,預設在C:\WINDOWS\Minidump或MEMORY.DMP可以找到記憶體傾印檔,後述步驟以「小記憶體傾印」為例。

比較差異: Differences between full memory dump files and mini memory dump files

(出處)
A memory dump file can collect a variety of information. Typically, a support engineer must have all the contents of virtual memory to troubleshoot a problem. In other cases, you might want to capture less information to focus on a specific problem. The debugger is flexible. This flexibility lets you limit the information that a memory dump file captures by collecting either full memory dump files or mini memory dump files:
翻譯:
內存轉儲文件可以收集各種信息。 通常,支持工程師必須擁有虛擬內存的所有內容才能解決問題。 在其他情況下,您可能希望捕獲較少的信息以專注於特定問題。 調試器很靈活。 這種靈活性使您可以通過收集完整內存轉儲文件或小型內存轉儲文件來限制內存轉儲文件捕獲的信息:

Full memory dump files. (全內存轉儲文件)

These files contain the contents of virtual memory for a process. These files are the most useful when you are troubleshooting unknown issues. A support engineer can use these files to look anywhere in memory to locate any object, pull up the variable that was loaded on any call stack, and disassemble code to help diagnose the problem. The disadvantage of full memory dump files is that they are large. It also may take additional time to collect these files, and the process that is being recorded must be frozen while the dump file is created.
翻譯:
這些文件包含進程的虛擬內存的內容。 對未知問題進行故障排除時,這些文件最有用。 支持工程師可以使用這些文件在內存中的任意位置查找任何對象,提取任何調用堆棧中加載的變量,並反彙編代碼以幫助診斷問題。 full memory dump文件的缺點是它們很大。 收集這些文件可能還需要花費更多時間,並且在創建dump文件時必須凍結正在記錄的進程。

Mini memory dump files. (小型內存轉儲文件)

A mini dump file is more configurable than a full dump file and can range from only several megabytes (MB) up to the size of a full dump file. The size differs because of the amount of virtual memory that the debugger is writing to disk. Although you can gather mini memory dump files quickly and they are small, they also have a disadvantage. Mini dump files may contain much less information than full dump files. The information that a mini dump file gathers may be virtually useless to a support engineer if the area of memory that the support engineer has to troubleshoot was not captured. For example, if the heap memory is not written to the memory dump file, a support engineer cannot examine the contents of a message that was being processed at the time that the problem occurred. Useful information, such as the subject line and the recipient list, would be lost.
翻譯:
mini dump文件比full dump文件更具可配置性,範圍從僅幾兆字節(MB)到full dump文件的大小。 大小因調試器寫入磁盤的虛擬內存量而異。 儘管您可以快速收集Mini memory dump files並且它們很小,但是它們也有一個缺點。 mini dump文件包含的信息可能少於full dump文件。 如果未捕獲支持工程師必須進行故障排除的內存區域,則mini dump文件收集的信息對於支持工程師可能幾乎沒有用。 例如,如果沒有將堆內存寫入內存轉儲文件,則支持工程師將無法檢查問題發生時正在處理的消息的內容。 有用的信息,例如主題行和收件人列表,將丟失。

3. 點我造訪微軟網站下載Debugging Tools來安裝,執行【WinDbg】
(詳細介紹windbg)

4. 點擊【File】→【Open Crash Dump】。

5. 選擇記憶體傾印檔。

6. 詢問是否儲存相關資訊,按Yes或No皆可。

7. 分析完成會看到一行【Probably caused by : 檔案名稱】的訊息,表示當機原因可能與這個檔案有關,搜尋電腦中的檔案或入口網站來查詢該檔案來自於什麼程式,如果您剛好設定過這個程式沒多久後就出現當機問題,就能針對該程式檢察來解決當機問題。

Step.2 看到了問題如何排除?

除了將搜尋到的資料Google 更建議到微軟技術服務 http://support.microsoft.com/search/?adv=1 下拉選單 選擇OS 後 再填入關鍵字搜尋 會發現 很多問題其實都已經有解決方案(即使不是終極的 也有暫時的) 舉個例: http://support.microsoft.com/kb/974410/zh-tw http://support.microsoft.com/kb/816036/zh-tw 都算是問題的詳解 有些問題 甚至還有未正式發布的修正檔(Hotfix)可嘗試 但要一定要”特別注意”的是 所謂的 Hotfix 是針對單一獨立問題的修正檔 也就是每個頁面的 Hotfix 都是不一樣的 “必需確定完全符合”該問題再裝 因為這些修正檔 只能算 Service Pack 的beta檔 相容性和安全性微軟不保證 由於非完全正式公開 如需要 按下鏈結 填入mail 微軟會寄一個下載連結給你

沒有留言:

張貼留言