JIT的初始斷點

上網好好的,忽然IE Crash了,windbg作爲JIT被自動啓動起來,下意識的輸入!runaway, ~* kv查看,發現所有的線程都在ntdll!KiFastSystemCallRet,也就是在內核中,一時間很奇怪,那IE怎麼crash的?帶着這個問題,中飯都沒吃好。

 

苦思了很久之後,一下子頓悟了。當時的斷點應該是初始斷點,也就是ntdll!DbgUiRemoteBreakin,而真正的罪魁禍首應該還需要再g一下,跳過這個無意義的初始斷點,雖然當時的IE已經沒了,幸好留了dump,使用windbg打開,使用~* kv仔細觀察,畢竟有37個線程。

分析dump雖然找不到crash的指令,總有蛛絲馬跡可尋。從棧中可以追溯歷史。定位到某個線徎,

 

0aed50f4 76ee5e4c 750c6872 00000002 0aed5148 ntdll!KiFastSystemCallRet (FPO: [0,0,0])
0aed50f8 750c6872 00000002 0aed5148 00000001 ntdll!NtWaitForMultipleObjects+0xc (FPO: [5,0,0])
...

 

全文見 http://user.qzone.qq.com/31731705/blog/1297325245

發佈了34 篇原創文章 · 獲贊 15 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章