explorer.exe 應用程序報錯。
如圖
遇到explorer.exe應用程序報錯,正常來講explorer.exe 不會無緣無故的報錯,一般都是第三方DLL 異常導致報錯,然而如何快速的定位是哪個dll 程序是一個問題。
首先經常用到的定位報錯DLL的方法就是使用進程工具PCHunter 查看explorer.exe 加載的多少模塊,然后根據公司名來先排除微軟的本身的DLL模塊,然后再逐一刪除排查具體是什么模塊導致的報錯。如下圖 使用PCHunter 選取一個explorer.exe 然后右鍵 “查看進程模塊”,紅色的圈起來的都有可能是導致崩潰的DLL模塊,在這里我是先把微軟的DLL排除,當然有些偽裝微軟的就要細心的觀察才能發現。
然后我們今天說的重點是windbg 來快速定位報錯。
以explorer.exe 進程報錯,簡單說的 一下排查的步驟。
1)我們先要準備的兩款工具 windbg + PCHunter(前身Xuetr)
2)由于explorer.exe 崩潰的特殊性,我們要先同時打開 windbg,然后選擇File->Open Executable... 然后瀏覽到報錯的進程c:/windows/explorer.exe 先不要急著打開,再打開任務管器結束explorer.exe 快速的點擊 windbg 的打開按鈕。
如圖:
3)然后就會出現一個中斷,然后我們輸入 g 繼續執行,再報錯的時候它會自動中斷。
如圖:
4)再次中斷之后我們輸入 kb 就可以查看堆棧里 cakeu32+0x59dd 異常,向上拉可以查看到報錯的DLL的路徑 c:/program files/aik1546/cakeu32.dll 報錯。
5)驗證問題,找到DLL之后就該驗證是不是它導致的報錯
打開PCHunter 找到explorer.exe 右建查看模塊信息,找到 c:/program files/aik1546/cakeu32.dll 右鍵刪除之。
6)結束一把explorer.exe 世界安靜了,不再報錯。
7)至于 這個 c:/program files/aik1546/cakeu32.dll 誰創建的,大家以后有遇到可以用360MD 開機監控。
此方法可以同樣可以應用到其它應用程序報錯,比如IE報錯。(注:此方法不適合排查游戲報錯,因為游戲一般會檢測調試軟件。)
如果你有更好的方法可以共同探討。
新聞熱點
疑難解答