如何分析驅動藍屏

來源:互聯網
上載者:User

第一步,有些通過查看藍屏代碼資訊即可大致定位出導致藍屏的代碼的位置。因為很多藍屏代碼的參數裡都會記錄有發生藍屏時引用的記憶體位址,譬如:
電腦已經在檢測錯誤後重新啟動。檢測錯誤: 0x0000001e (0xc0000005, 0xf7ce8bad, 0x00000000, 0x00e2ddd0).

這裡參數0xf7ce8bad即指向了引起例外的代碼位置,通過對照系統核心驅動載入地址表,可找到引起該例外的驅動名,然後再根據PE結構記憶體對應檔的原理,反編譯驅動代碼後就可從相應的位移處找到導致藍屏的驅動程式代碼位置。

第二步,對於沒有在藍屏代碼的參數裡直接指明引用位址的分析,就要通過儲存下的DUMP檔案來進行調試分析了,譬如:
電腦已經在檢測錯誤後重新啟動。檢測錯誤: 0x0000000a (0x0000002c, 0x00000002, 0x00000000, 0x80441a1e)

調試工具可選用Microsoft的Windbg,調試時需要使用對應DUMP系統的符號檔案,調試步驟網上有很多詳細的介紹,通過一步步的stack trace,就可以找到引起藍屏的代碼位置了。如果需要進行詳細的調試,最好不要採用Minidump,而要設定成完全記憶體轉儲。

第三步,對於經常發生藍屏重啟的情況,直接使用softice進行動態調試是最簡單有效方法了,在系統裡安裝上softice以後,如果系統產生了例外,會直接被 softice截獲,使用它提供的強大命令體系找出罪魁禍首應該是不成問題的,當然這需要在關機過程中發生藍屏時softice的驅動還沒被卸載掉,否則就需要使用雙機進行遠端偵錯了.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.