windbg學(xué)習(xí)筆記 FOR 內(nèi)核調(diào)試(二) [轉(zhuǎn)]
Posted on 2009-01-26 14:53 S.l.e!ep.¢% 閱讀(278) 評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi): Windows WDM
最近終于把車(chē)考過(guò)去了,windbg的學(xué)習(xí)耽擱了好多 前幾天每天都在練車(chē)~搞死我了 不過(guò)還好在海邊練景色很宜人~舒服~HOHO
上次說(shuō)啥來(lái)著?
哦 對(duì)了 就是這幾個(gè)命令~呵呵
堆棧顯示指令kb , kp, kP , kv
反匯編指令 u,uf
跟蹤指令 T,TA,TB,TC
執(zhí)行相關(guān)指令 P,PA,PC
跟蹤查看指令 WT
這些差不多了? 到時(shí)候調(diào)試篇忘記了會(huì)把這些命令說(shuō)明插進(jìn)去~HOHO 這里僅做個(gè)整理
----------------------------------------------------------------------------
堆棧顯示指令
k [b|p|P|v]
在內(nèi)核調(diào)試的時(shí)候,k命令用來(lái)顯示內(nèi)核棧的內(nèi)容
先說(shuō)說(shuō)內(nèi)核棧用來(lái)干嘛的 看了些資料個(gè)人理解是這樣的
比如我們的代碼運(yùn)行時(shí),肯定會(huì)有函數(shù)函數(shù)然后還會(huì)調(diào)用函數(shù) 但是系統(tǒng)如何記錄是哪個(gè)父函數(shù)調(diào)用了這個(gè)子函數(shù),在子函數(shù)調(diào)用之前整個(gè)狀態(tài)又是怎樣的,其實(shí)系統(tǒng)是利用了堆棧記錄的 棧這個(gè)東西好阿? 先進(jìn)后出? 最近調(diào)用的函數(shù)記錄在最頂層 函數(shù)執(zhí)行完后就從棧內(nèi)彈出之前記錄的參數(shù),如果調(diào)用函數(shù) 一樣的把函數(shù)壓進(jìn)棧內(nèi)就好了 這樣一來(lái) 一旦子函數(shù)執(zhí)行完,從棧內(nèi)彈出的第一個(gè)函數(shù)肯定是該子函數(shù)的老爹? 我們可以看上層堆棧的狀態(tài)等等 功能大家慢慢去體會(huì)吧我也沒(méi)用過(guò)? 呵呵? 不好說(shuō)什么 下面說(shuō)些細(xì)節(jié)的東西
b
顯示傳給函數(shù)的前三個(gè)參數(shù)
p
顯示傳給函數(shù)的全部參數(shù)
P(
大寫(xiě))
跟上面那個(gè)一樣 只不過(guò)是顯示形式不同而已
V
外加顯示一些額外的信息
----------------------------------------------------------------------------
u [f]
反匯編指令,嘿嘿 超級(jí)有用的指令喲雖然說(shuō)內(nèi)核很多東西很復(fù)雜 認(rèn)識(shí)偶爾小小反下也是可以的
u
反匯編當(dāng)前寄存器指向的代碼
uf
函數(shù)名(比如nt!ZwCreateFile)
反匯編指定的函數(shù)
----------------------------------------------------------------------------
t [r]
單步跟蹤
r
打開(kāi)指顯示寄存器的詳細(xì)信息,狀態(tài)的開(kāi)關(guān)(下面指令一樣有效,在用1次就會(huì)關(guān)閉哦~)
ta
地址
讓程序執(zhí)行到指定地址
tb
讓程序運(yùn)行到分支語(yǔ)句時(shí)停止
tc
讓程序運(yùn)行到下一個(gè)函數(shù)調(diào)用停止
----------------------------------------------------------------------------
p [r]
單步執(zhí)行一跳指令
r
打開(kāi)指顯示寄存器的詳細(xì)信息,狀態(tài)的開(kāi)關(guān)(下面指令一樣有效,在用1次就會(huì)關(guān)閉哦~)
pa
讓程序執(zhí)行到指定地址
pc
讓程序執(zhí)行到函數(shù)調(diào)用就停止
----------------------------------------------------------------------------
wt
這個(gè)感覺(jué)用處不是很大.不細(xì)細(xì)研究了
----------------------------------------------------------------------------
?
Ps:
很多人不清楚到底p指令和t指令有什么區(qū)別 其實(shí)很簡(jiǎn)單 p指令執(zhí)行到函數(shù)時(shí)把這個(gè)當(dāng)做一個(gè)指令來(lái)執(zhí)行也就是說(shuō)不會(huì)進(jìn)入函數(shù)執(zhí)行,但是t指令會(huì)進(jìn)入到函數(shù)里面執(zhí)行? 就這么簡(jiǎn)單~~呵呵
基礎(chǔ)指令就到這里了? 過(guò)段時(shí)間開(kāi)始記點(diǎn)調(diào)試的東東了 呵呵