b addr 在物理地址處設置斷點 addr為物理內存地址,不加段基址
lb 在線性地址處設置斷點 addr為線性物理地址,不加基址
vb 在虛擬地址上設置斷點 addr為段基址:偏移地址, cs段
c 繼續執行知道遇到斷點
n 單步執行 跳過子程序和int中斷程序
s 單步執行
s num ( s指令后加一數字) 執行n步
dump_cpu 查看寄存器信息 (實測下來這個指令好像不好使。。。)
x /nuf addr 顯示指定內存地址的數據,addr可以是線性的內存地址,也可以是虛址 格式是基址:偏移或者基址寄存器:偏移
n 顯示的數據長度
u 數據單元大小 b,h,w,g分別對應1,2,4,8字節
f 數據顯示格式 x,d,u,o,t,c分別對應十六進制、十進制、無符號十進制、八進制、二進制、字符串
u [/count] start end 反匯編一段線性內存(作用與上面的一樣)
(count 參數指明要反匯編的指令條數 ,例子:u /5 --反匯編從當前地址開始的5條指令)
info指令組
info b 展示當前的斷點狀態信息
info dirty 展示自從上次顯示以來物理內存中的臟頁(被寫的頁)
info program 展示程序的執行狀態 (無法使用!)
info r|reg|rigisters 展示寄存器內容
info cpu 展示CPU寄存器內容
info fpu 展示FPU寄存器的狀態
info idt 展示中斷描述表
info ivt 展示中斷向量表(保護模式下無效)
info gdt 展示全局描述表
info tss 展示當前的任務狀態段
info cr 展示CR0-CR4寄存器狀態 (無法使用)
info flags 展示標志寄存器 (無法使用)
寄存器查詢
r 查看通用寄存器
sreg 查看段寄存器(es,cs,gs,ss,fs,ds以及idt,gdt,ldt,tr)
creg 查看控制寄存器(cr0,cr1,cr2,cr3)
dreg 查看調試寄存器(dr0-dr7)
x /nuf [addr] 顯示線性地址(Linear Address)的內容
xp /nuf [addr] 顯示物理地址(Physical Address)的內容
參數 n 顯示的單元數
參數 u 每個顯示單元的大小,u可以是下列之一:
- b BYTE
- h WORD
- w DWORD
- g DWORD64
注意: 這種命名法是按照GDB習慣的,而並不是按照intel的規范。
f 顯示格式,f可以是下列之一:
- x 按照十六進制顯示
- d 十進制顯示
- u 按照無符號十進制顯示
- o 按照八進制顯示
- t 按照二進制顯示
- c 按照字符顯示
n、f、u是可選參數,如果不指定,則u默認是w,f 默認是x。如果前面使用過x或
者xp命令,會按照上一次的x或者xp命令所使用的值。n默認為1。addr 也是一個
可選參數,如果不指定,addr是0,如過前面使用過x或者xp命令,指定了n=i,
則再次執行時n默認為i+1。
