Bochs常用调试命令
Bochs常用调试命令
Bochs是非常好用的模拟器,命令也很多,不过最常用的其实总结起来也就包括几条,记住这些命令基本都可以满足调试需求了。
1. 断点操作
(1)设置断点:b 物理地址
例:b 0x7c00 在物理地址0x7c00处设置断点
(2)查询目前已经设置过的断点:info break
2. 程序的执行
(1)执行程序,直到遇到断点: c
(2)单步执行:s
(3)执行N条指令:step N
例如执行3条指令: step 3
2. 寄存器值查询
(1)info r 这条指令会查询基本的寄存器的值,具体如下图:
(2)dump_cpu
这个命令显示的寄存器比info r的更全面,而且连影子寄存器的值都打印出来了:
3. 内存内容查询
(1)查询从某个地址开始的N个字节的内存:xp /Nbx 物理地址
例如:xp /32bx 0x90000 查询从0x90000开始的32个字节内容
(2)打印当前栈里的内容:print-stack
下面的例子里:040803c0是当前运行程序的线性地址,01ff53c0是对应的实际物理地址。
4. 反汇编一段内存:disassemble 起始地址 终止地址
例如:disassemble 0x7c3e 0x7c40 反汇编这段地址的指令