感謝 chinaperrylee
今天和你們來談談當碰到系統藍屏時應該去如何應對,Windows藍屏是微軟終極錯誤報告方式,也在微軟內部稱爲藍屏之死,可能咱們碰到系統藍屏是很是忽然的,沒有前期預兆和準備,只能從新啓動從而致使數據的丟失。因此它是一個比較嚴重的錯誤了。微軟DDK對藍屏有一個官方定義:當windows操做系統遇到一種可能損害系統安全的狀況,系統就會中止響應,這種狀況被稱爲錯誤檢查,也會被認爲內核錯誤或系統錯誤。你們有沒有想過Windows爲何要藍屏,其實緣由很簡單,操做系統檢測到了有人已經違反了系統的規則並危及系統安全,而操做系統必需要將它KILL掉,又由於它是內核態的代碼而且權限很高,因此Windows就不會發現錯誤報告了,只能採用藍屏方式。就像咱們在運動比賽中同樣,運動員違規比賽規則的話,裁判就會出去紅牌讓他離場。
我在這裏先截張圖給你們看看。
我就來介紹上面藍屏的錯誤,首先我標出的第一個框是藍屏的序言,代表Windows已經檢測到了一個問題已經中止運行,並防止對你的計算機形成損害,基本全部的系統藍屏的序言都是這樣一個描述;我標出的第二個框是藍屏錯誤狀況的描述,這個描述根據不一樣類型的藍屏會產生不會的描述,咱們如今看到的描述是對於系統操做的一個關鍵線程或者關鍵進程被意外的退出或終止;我標出的第三個框是藍屏的建議錯誤,也和藍屏序言同樣,是全部系統藍屏都是同樣的描述,應該來講對IT人員的意義不大,大概意思是讓你從新啓動計算機,確保你的硬件和軟件是否被正確安全,若是問題依舊,建議你刪除你的硬件或軟件,若是還不行就進入系統的高級模式。我標出的第四個框是藍屏的錯誤代碼和參數,也是藍屏錯誤中最爲關鍵最爲核心的信息,對咱們IT人員分析和解決藍屏問題是十分重要的信息。0x000000F4是藍屏的中止代碼,括號裏面的四個參數是藍屏中止參數;我標出的第五個框是藍屏的轉儲信息,也稱爲Dump信息,也就是說Windows把發生藍屏時的關鍵信息轉儲到文件中。
我上面的這張截圖就是設置操做系統在內核轉儲時的必要設置,自動從新啓動就是說當系統發生藍屏時會自動重啓,一般咱們會取消勾選,否則咱們就看不到藍屏錯誤代碼了,還有就是寫入調試信息,咱們一般選擇的是小內核轉儲文件,而不會選擇核心內核轉儲,否則產生的DUMP文件會很是的大,而小內核轉儲才64KB,不要小看這64KB的文件,裏面的信息所有都是系統在轉儲過程當中的關鍵信息,對IT人員來講是足以進行藍屏的調試工做的。最後就是DUMP文件的存放位置了。
OKAY,談了這麼多了,我準備想把藍屏在轉領過程當中發生一些動做詳細的告訴給你們,好比藍屏的信息收集、關閉中斷、調用一些回調函數、藍屏是如何繪製的等,可是,考慮到這是操做系統的一些底層內容,你們確定感到很煩了,那麼我就言歸正傳了,給你們推出一款很是實用的微軟藍屏調試工具,它就是WinDebuger,簡稱Windbg。我提供了它的下載路徑,你們有時間能夠下載體驗下。
這就是我安裝好Windbg出現的調試畫面,感受十分樸實啊!!
下面,就是設置Symbol File Path,這邊我要和你們解釋一下這是什麼意思,其實這個設置就是把咱們生成的DUMP轉儲文件,先提交給微軟的Symbol 服務器進行編譯,由於DUMP文件缺省是一些二進制的編碼,咱們普通人是看不通的,要把它編譯成咱們能識別的代碼,其實這裏的Symbol File Path裏面就是微軟Symbol 服務器的地址,這裏我有一篇微軟KB來解釋使用 Microsoft Symbol Server 獲取調試符號文件。
[url]http://support.microsoft.com/kb/311503[/url]
。我下面就給你們來SHOW一下,我把我操做系統下生成的一個MINI Dump文件進行簡單的調試,並給你們看看Windbg是如何工做的。
打開一個Crash Dump文件
在C:\windows\minidump\下生成了一個64KB的文件,後綴名爲.dmp格式
Windbg自動加載此Dump文件,此時正在鏈接微軟的Symbol服務器
Dump文件已經被加載成功,並已經正確的鏈接上了微軟的Symbol服務器了
此時,咱們在下面的輸入框中輸入!analyze -v 參數
Windbg會自動的幫咱們進行簡單的文件分析,並生成一些對咱們IT人員來講有價值的調試信息,好比堆棧信息,處理對象,映像名稱等,對咱們IT管理員來講只要看看Image_Name就能夠了,一般這裏會出現一個文件名稱,好比驅動文件名稱等,咱們就能夠初步判斷藍屏多是由一些第三方驅動錯誤所致使的,這樣咱們就能夠在系統下刪除這個文件進行嘗試。
咱們還能夠輸入KD或者KC的命令進行底層堆棧的排錯,可能這邊通常人會感受痛苦了,這須要微軟的系統開發人員纔可能達到的水平。
好了,就介紹到這裏了,感受有點像是介紹微軟操做系統內核知識同樣,這個工具但願你們多研究研究,這個工具是有幫助文檔的,你們能夠對照文檔進行調試,並使用相應的命令。