QEMU、GDB调试QEMU

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

你可能感兴趣的:(x86汇编语言)