Bochs调试指令

来源:互联网 发布:win7旗舰版优化技巧 编辑:程序博客网 时间:2024/05/01 05:02

1、指令断点

1.1、设置断点

1.1.1、设置在物理地址

b/break addr

1.1.2、设置在线性地址

lb/lbreak addr

1.1.3、设置在虚拟地址

vb/vbreak seg:off  seg是段选择子,off是段内偏移。

1.2、禁用/启用断点

bpd|bpe bn  禁用/启用断点,相当于WinDBG的“be”和“bd”。bn是断点号,可以用blist命令查询。

1.3、删除断点

d/del bn  bn是断点号,可以用blist命令查询。

1.4、显示现有断点(断点号和地址)

blist/info b/info break


2、读写断点

2.1、设置读写断点

watch read addr

watch write addr

2.2、删除读写断点

unwatch read addr

unwatch write addr

unwatch  删除所有现有的读写断点

2.3、显示现有读写断点

watch


3、执行控制

3.1、单步执行(遇到call和int进入函数、中断内)

s/step [count]  单步执行count条指令,count 默认为 1。相当于WinDBG的“t”。

3.2、单步执行(遇到call和int不进入函数、中断内)

p/n/next  相当于WinDBG的“p”。

3.3、继续执行,直到遇到断点

c/cont  相当于WinDBG的“g”。


4、查看寄存器

4.1、查看通用寄存器

r/info r/info reg

4.2、查看段寄存器和段描述符寄存器

sreg

info gdt  查看全局描述符表的信息

info idt  查看中断描述符表的信息

info ldt  查看局部描述符表的信息

info tss  查看任务状态段的信息

4.3、查看控制寄存器

creg


5、查看内存

5.1、通过物理地址查看

xp [/nuf] addr

其中n指定显示的单元数,默认是1;
u 指定每个显示单元的大小(b表示字节、h表示字(2字节)、w表示双字(4字节)),默认是w;
f 指定显示格式(x 十六进制、d 有符号十进制、u 无符号十进制、o 八进制、t 二进制、c 字符),默认是x

5.2、通过线性地址查看

x [/nuf] addr  nuf的意义同上

5.3、查看堆栈

print-stack

5.4、反编译

u/disas/disassemble [/n] [start] [end]

n是反编译的指令的数目,默认是1;start是开始反汇编的地址,默认是当前指令指针所指的地址;end是结束反汇编的地址


6、停止调试并退出

q/quit/exit

0 0
原创粉丝点击