其實這只能看出一些片段
看這一大堆字
請排除 * 號所圍繞的文字,因為那些是固定的說命註解文字
在執行 WinDbg 後可先清除一下 (Edit -> Clear Command Output)
再執行 !analyze -v 來分析
會比較易讀一些
首先最淺顯易懂的是
出錯的程序是 (PROCESS_NAME) avp.exe
執行的斷層是 rol byte ptr [edx],0AAh 這一行指令
BUGCHECK_STR: APPLICATION_FAULT_BAD_INSTRUCTION_PTR_STACK_CORRUPTION
這裡說到
壞的指令指標堆疊造成應用程式錯誤
就是指這一段
異常記錄是 EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
很明顯有溢位之嫌,windows當機幾乎都與溢位有關
斷層模組是 FAULTING_MODULE: 7c920000 ntdll
所以可判斷出
是 卡巴使用到 ntdll.dll 模組時出錯
據MS修正記載裡曾提到
ntdll.dll 的動態 連結資料庫(DLL)。這個 DLL 是作業系統與 Windows kernel 互動的一個核心元件。 ntdll.dll 中有一個緩衝區滿溢(buffer overflow)的安全弱點,而 Windows 作業系統中 有很多不同元件使用到 ntdll.dll。
or
http://support.microsoft.com/kb/261317/zh-tw (Ntdll.dll 中的死結造成程式當掉)
所以你可以試試 Windows Update 看看有沒有 更新
不過像這種情況
問題出在 windows的 核心元件
一般問題不會像debuger講的這麼單純
如果每次安裝卡巴都會當機的話
還要靠其他工具來進一步分析
這裡給個建議
.先清除 C:\WINDOWS\Prefetch 裡面所有檔案
.接著下一個 MS的 BootVis
執行以下步驟:
執行之後依序點選「Trace」→「Next Boot+Drivers Delays」,出現「Trace Repetitions」視窗後按下「OK」重新開機;
重開機後再執行BootVis,點選「File」→「Open」開啟「TRACE_BOOT+DRIVERS_1_1.BIN」這個檔案,再點選「Trace」→「Optimize System」就行了。
(會再次重開機,進入windows時請不要做什麼,等 BootVis 自己結束為止)
====================================
像
PROCESS_NAME: avp.exe
FAULTING_MODULE: 7c920000 ntdll
這兩行 會有藍色的底線 文字出現
您只要點一下
他就會繼續分析
比如:
FAULTING_MODULE: 804d8000 nt
點一下 nt
會分析出
kd> lmvm nt
start end module name
804d8000 806ec480 nt T (no symbols)
Loaded symbol image file: ntoskrnl.exe
Image path: ntoskrnl.exe
Image name: ntoskrnl.exe
Timestamp: Wed Feb 28 17:10:41 2007 (45E54711)
CheckSum: 00217A95
ImageSize: 00214480
Translations: 0000.04b0 0000.04e0 0409.04b0 0409.04e0
那不就更清楚表示出
執行時的斷層出現在 ntoskrnl.exe 裡嗎 ?