調試命令
1.設置斷點
(1)設置斷點:b 物理地址
例:b 0x7c00 在物理地址0x7c00處設置斷點
(2)查詢目前已經設置過的斷點:info break
2.程序執行控制命令
(1) c/cont/continue:執行程序,直到遇到斷點
(2)s [count] execute count instructions, default is 1
step [count] (3) s [cpu] [count] for SMP simulation, execute count instructions on cpu, default is 1
step [cpu] [count]
(4) s all [count] for SMP simulation, execute count instructions on all cpus
step all [count]
(5)Ctrl-C stop execution, and return to command line prompt
Ctrl-D if at empty line on command line, exit
(6)q/quit/exit:退出debugger繼續執行
3.寄存器查看
(1)info r 這條指令會查詢基本的寄存器的值
(2)dump_cpu
這個命令顯示的寄存器比info r的更全面,而且連影子寄存器的值都打印出來了。
4. 內存內容查詢
(1)查詢從某個地址開始的N個字節的內存:xp /Nbx 物理地址
例如:xp /32bx 0x90000 查詢從0x90000開始的32個字節內容
(2)打印當前棧裏的內容:print-stack
下面的例子裏:040803c0是當前運行程序的線性地址,01ff53c0是對應的實際物理地址。
5. 反彙編
(1)u/disasm/disassemble start end,反彙編給定線性地址範圍的指令。也可以是u /10 反彙編從當前地址開始的10條指令。如下圖
對一段內存:disassemble 起始地址 終止地址
例如:disassemble 0x7c3e 0x7c40 反彙編這段地址的指令