Windbg常用命令

2021-06-03 05:56:55 字數 1744 閱讀 7675

在windbg的命令列視窗輸入"?", 則會輸出幫助選單, 在這個menu中會顯示一些常用的命令:

(1)斷點指令

b[c|d|e]

clear|disable|enable breakpoints bl

list breakpoints

bp set soft breakpoints

ba break on access

(2)資料檢視指令

d[type]

dump memory

dt [-n|y] [[mod!]name] [[-n|y]fields][address] [-l list] [-a|c|i|o|r[#]|v]

dump using type information

dv  

dump local variables

(3)資料修改指令

e[type]

enter memory values

(4)執行

g[h|n] [=[...]] 

gop [=]

step over

(5)堆疊操作

k[b|p|p|v]

(6)顯示載入的模組列表 lm

list modules

(7)暫存器操作

r [[[= ]]]

view or set registers

(8)search指令 s

search memory

(9)跟蹤指令t,ta,tb,tc,wt,p,pa,pc

(10)退出 q

(11)反彙編

u其中最常用的就是反彙編操作和顯示模組操作. lm命令顯示當前載入的模組. 當你連線過程中, windbg提示相應的module找不到時, 就可以運用這個命令進行檢視. lm的乙個擴充套件命令是"lm t n", 這個命令顯示當前所有載入的驅動資訊(過去的命令是!driver),在除錯核心驅動的過程中非常有用,可以找到相應驅動的起始位址。反彙編命令u, 可以在相應的位址中逐步的解析**,這在核心除錯中是最常用的一種檢視**的方式。

除上面的一些基本命令之外,還有一些非常有用的指令:

(1)k[kb|kp]

顯示當前的堆疊,當然也可以用alt+6直接調出視窗顯示

(2)!process

顯示當前的程序exprocess狀態,!process 0 0 顯示所有的程序狀態

(3)!thread

顯示當前的執行緒狀態,dt nt!_ethread顯示ethread結構

(4)!drvobj [path]

列出當前的驅動程式在驅動物件中的例程,其中path是驅動的裝置路徑,例如: !drvobj \filesystem\fat 2 列出fat檔案系統驅動的例程

(5)dt nt!_*

檢視核心的資料結構

(6)!stack 0

顯示執行緒當前位址

(7)!ioapic

檢視i/o的中斷控制器

(8)!irql

檢視cpu的irql,這在cpu中斷除錯中非常有用

(9)!exqueue

可以看系統輔助的執行緒列表

(10)!reg viewlist

登錄檔的儲存顯示,!reg hivelist顯示登錄檔乙個儲存的記憶體使用量

(11)!vm

顯示系統的記憶體池資訊

(12)dt _token

顯示內部訪問令牌

(13)!object \device

顯示裝置物件資訊,用winobj工具也可以看到

windbg常用命令

2.斷點 斷點之於除錯當然是非常重要的 常用命令 bp address or symbol 在指定位址下斷 可以使用位址或符號,如 bp 80561259 windbg預設使用16進製制 bp mydriver getkernelpath bp mydriver getkernelpath 0x12...

windbg常用命令

1.檢視執行緒 ring3 顯示當前執行緒.顯示所有執行緒 顯示異常執行緒 2 選擇2號執行緒 1 kb 顯示1號執行緒棧資訊 2.斷點 bp addr module fun 支援位址和模組斷點 bp p proc 程序斷點 bp t thread 執行緒斷點 bu module fun 模組斷點 ...

windbg常用命令

2.斷點 斷點之於除錯當然是非常重要的 常用命令 bp address or symbol 在指定位址下斷 可以使用位址或符號,如 bp 80561259 windbg預設使用16進製制 bp mydriver getkernelpath bp mydriver getkernelpath 0x12...