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

bochs调试命令的更多相关文章
- 用bochs调试自己写的系统引导代码
1 安装和配置bochs 首先从bochs.sourceforge.net里面把BOCHS给download下来,鉴于Windows的普及,仅仅谈BOCHS在win下的使用方法,其实在其它的OS中方法 ...
- 利用bochs调试Linux 0.11内核
引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是: http://sourceforge.net/projects/bochs/http://www.oldlinux.o ...
- Bochs调试加载符号文件的问题
1. Bochs中的调试命令ldsym没有触发的情况. 参考:http://www.ibm.com/developerworks/cn/linux/sdk/lex/ Lex 代表 Lexical An ...
- bochs 调试 com 文件 magicbreak
参考 https://blog.csdn.net/housansan/article/details/41833581 在网上看到2中解决此问题的方法:1.使用dos下的debug32工具单步跟踪pm ...
- 使用bochs调试汇编程序
使用bochs调试汇编程序 前面我们已经搭建好了bochs的环境,并且将我们的汇编程序写入了硬盘里面,现在我们来看看如何通过bochs来调试我们的程序. 前文:https://www.cnblogs. ...
- GDB调试命令小结
1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息.gdb program //最常用的用gdb启动程序,开始调试的方 ...
- Windbg调试命令详解
作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe.ntsd. ...
- jdb调试命令
常用调试命令: run GeoHashTest #带参数运行 stop at GeoHashTest:22 #断点GeoHashTest文件的22行 stop in GeoHashEncode.Enc ...
- 基础调试命令 - .dump/.dumpcap/.writemem/!runaway
Windbg是windows平台上强大的调试器,它相对于其他常见的IDE集成的调试器有几个重要的优势, Windbg可以做内核态调试 Windbg可以脱离源代码进行调试 Windbg可以用来分析dum ...
随机推荐
- VMware Workstation Pro 15 序列号
VMware Workstation Pro 15 序列号: GA70H-8TYE2-H886P-04YZC-YVA84 YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 UG5J2-0ME ...
- 雷达无线电系列(三)经典CFAR算法门限因子alpha计算(matlab)
前言 本文汇集CA.SO.GO.OS.杂波图等恒虚警算法的门限因子求解方法及其函数 1,CA-CFAR [非常简单,可以直接求解] %% 均值恒虚警_门限因子计算公式 %% 版本:v1 %% 时间:2 ...
- .net core 杂记:用Autofac替换内置容器
官方建议使用内置容器,但有些功能并不支持,如下: 属性注入 基于名称的注入 子容器 自定义生存期管理 Func<T> 支持 所以可以使用其他第三方IOC容器,如Autofac,下面为学习使 ...
- element-ui里的form校验,一直有点疑惑,prop是怎么对应的?
图一 图一中红框内的这种校验,必须在 这个product_form数据域内定义对应的变量名(cid.itemName......),不然对应不上. 图一红框外的那种校验,则不用在数据域内定义对应的变量 ...
- iOS - 反射机制: objc_property_t的使用
iOS属性反射:说白了,就是将两个对象的所有属性,用动态的方式取出来,并根据属性名,自动绑值.(注意:对象的类,如果是派生类,就得靠其他方式来实现了,因为得到不该基类的属性.) 常用的反射方式,有如下 ...
- 【转】Java中File常用的方法汇总
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置创建 ...
- (二)react-native开发系列之windows开发环境配置
之前写了react-native在mac上得环境搭建,但是如果只开发android的话,只要用windows系统就可以了,下面就来说下react-native的windows开发环境配置. 1.下载配 ...
- {T4模板}C# Net MVC+SqlServer=T4模板生成实体类并操作数据(DbHelper+DBManage)
1.ConnectionString,数据库链接 Web.config <configuration> <connectionStrings> <!-- 数据库 SQL ...
- Gitlab-CI +Docker + Docker-Compose构建可持续集成java项目的镜像
先注册好Runner: https://www.cnblogs.com/zsifan/p/11714788.html 以及搭建Java和Maven环境: https://www.cnblogs.com ...
- 【OF框架】使用原生Sql查询返回实体
使用原生Sql查询为Entity Framework Core自身的能力,本处描述如何在框架中调用该能力. 框架代码如下: (IoCHelper.Resolve<IDbContextCore&g ...