调试操作系统专用虚拟机--Bochs
来源:互联网 发布:301重定向域名会变么 编辑:程序博客网 时间:2024/05/12 22:02
当我们编写操作系统时,像编写其他软件一样,都需要一个调试器,Bochs是一个很好的虚拟机,可以用来调试操作系统,完全模拟硬件。
一、安装
Bochs的官网是:http://bochs.sourceforge.net/
可以从网上下载Bochs的源码并解压到一人文件夹,然后转到源码目录,实行如下语句可以编译、安装Bochs。
2 make
3 sudo make install
./configure后的参数是为了启用虚拟机的调试功能,我们用这个虚拟机的目录的也就是为了调试自己写的操作系统。
二、启动
Bochs是基于配置文件的,Bochs的配置文件一般如下:
在这个配置文件中,我们只需要注意
和
这两条语句即可,freedos.img是一个软件盘映像,第一条语句的意思是在软盘驱动器A中插入了一个软盘,而这个软盘就是那个软盘映像 *.img,第二语句是指从软盘驱动器A启动系统。如果此时软盘中有我们写的操作系统,就可以启动我们的操作系统了。
要启虚拟机,只要转到配置文件所在的目录,执行如下语句
Bochs就会启动并在当前目录下按顺序寻找如下的默认配置文件
所以配置文件名必须为上述文件名之一。
如果虚拟机被编译为启用调试功能,执行“bochs”指令后还会出现一个文字菜单供选择,如果想略过这个步骤,可以在“bochs”后加个参数,如下
三、用Bochs调试操作系统
当虚拟机启动后,会在第一条指令执行前暂停下来,在PC中一般在f000:fff0地址处,这个地址所对应的指令是jmp far f000:e05b,控制台的输出如下
此时只要输入“s”再回车就可以执行这条指令,如果想要程序流一直执行下去直到断点才停,可以输入“c" 再回车,程序执行后将停在断点处。设置断点方法如下
表示在地址为0x7c00处设置一个断点,指令执行到地址为0x7c00处将暂停。
"n"也是单步执行指令,但遇到函数后将跳过函数体,不会单步进入函数中。
更详细的信息可查阅Bochs的帮助文档。
四、编译时的其他选项
如果不喜欢控制台的字符操作,可以加个"--with-wx"这个配置,启用图形界面
上一篇:Centos 6.0 源码编译安装 bochs -2.5.1 成功
下一篇:linux网络及防火墙配置命令
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
- 调试操作系统专用虚拟机--Bochs
- 使用bochs调试操作系统
- bochs调试操作系统
- 使用 Bochs 调试操作系统
- bochs虚拟机调试日记
- 调试操作系统-bochs使用入门
- 《一个操作系统的实现》(二):使用Bochs调试操作系统
- 【从头开始写操作系统系列】使用 Bochs 调试操作系统
- [Bochs]Bochs调试技术
- [Bochs]Bochs调试技术
- 自己动手写操作系统(一)linux下安装bochs,编译引导扇区并启动bochs虚拟机
- 用Bochs搭建操作系统引导程序调试环境
- bochs调试操作系统,以及可引导img的制作
- 写操作系统--0.bochs源码编译安装及其调试指令
- 写操作系统----1.bochs调试的环境搭建
- bochs 调试
- bochs 调试
- bochs 调试
- C语言重要知识点回顾
- Centos 6.0 源码编译安装 bochs -2.5.1 有调试功能
- freeswitch 高级主题之 提高系统并发
- ExpandableListView的加载对象数据
- Centos 6.0 源码编译安装 bochs -2.5.1 成功
- 调试操作系统专用虚拟机--Bochs
- weak_ptr
- linux网络及防火墙配置命令
- 精通initramfs构建step by step
- PHP5.3下加速器ZendGuardLoader安装
- 我国主机遭境外控制激增近80%
- android graphic(18)—How about some Android graphics true facts?
- Linux 发行版 衍生 关系
- Java NIO系列教程(一) Java NIO 概述