1.qemu基本操作
Ctrl+Alt+2:切換控制檯
ctrl-alt-f:全屏
ctrl-alt :主機/虛擬機鼠標切換
操作:
make clean
make all
make qemu
gdb:
make all
make qemu_g
新窗口:make gdb
2.GDB調試
2.1.qemu配置
//-s是設置gdbserver的監聽端口,-S則是讓cpu加電後被掛起。
qemu-system-i386 -s -S
2.2.GDB配置
gdb -q
gdb server target remote :1234
set architecture i8086
3.常用GDB操作
break 16 <----------- 設置斷點,在源程序第16行處
break func <----------- 設置斷點,在函數func()入口處
info break <----------- 查看斷點信息。
r <----------- 運行程序,run命令簡寫
n <----------- 單條語句執行,next命令簡寫
c <----------- 繼續運行程序,continue命令簡寫
p i <----------- 打印變量i的值,print命令簡寫
bt <----------- 查看函數堆棧
q <----------- 退出gdb
break *address <----------- 在程序運行的內存地址處停住
delete n <----------- 清除n號斷點
x/<n/f/u> <addr> <----------- 查看內存
eg: x/100uh 0x54320:從0x54320讀取內容,h雙字節爲一個單位,100表示3個單位,u
ctrl+c <----------- 暫停
si/ni <----------- 單步運行
info registers/b <----------- 查看當前寄存器和斷點
display /20i $pc <----------- 查看當前執行及後20行彙編指令
layout split
layout regs
layout asm