bochs调试命令
Bochs几条基本指令:
通过物理地址查看内存时,可以不加参数'/nuf':
其中n指定显示的单元数,默认是1;
u 指定每个显示单元的大小(b表示字节、h表示字(2字节)、w表示双字(4字节)),默认是w;
f 指定显示格式(x 十六进制、d 有符号十进制、u 无符号十进制、o 八进制、t 二进制、c 字符),默认是x
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
可以通过输入命令help查看相关命令参数信息
例:help x
help b
最新文章
- 阿里yum源
- SVN外链
- CentOS 安装rz和sz命令
- C# Process 类的思考
- bootstrap-validator使用
- statspack系列7
- [BZOJ 2724] [Violet 6] 蒲公英 【分块】
- LVS的原理介绍
- 多线程编程-- part 3 多线程同步->;synchronized关键字
- javascript DOM事件总结
- linux交换空间
- nginx学习.第一部分
- Redis管道和发布订阅
- ASUS RT-N16 使用OpenWrt 安装 ss记录
- linux下搭建Jenkins环境
- vue(二)-父子组件语法
- 647. Palindromic Substrings
- 巧用同步请求处理react页面刷新问题
- centos7下安装docker(3.1创建镜像commit)
- xml ---->; 几个常用dtd头文件模板