windows下Bochs常用操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youkawa/article/details/8958877


调试命令

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 反汇编这段地址的指令



参考资料: http://bochs.sourceforge.net/doc/docbook/user/internal-debugger.html



猜你喜欢

转载自blog.csdn.net/youkawa/article/details/8958877