03 - 调试环境的搭建(Bochs)

---- 整理自狄泰软件唐佐林老师课程

查看所有文章链接:(更新中)深入浅出操作系统 - 目录

1. Bochs(另一款优秀的虚拟机软件)

专业模拟x86架构的虚拟机
开源且高度可移植,由C++编写完成
支持操作系统开发过程中的断点调试
通过简单配置就能运行绝大多数主流的操作系统

2. Bochs的安装与配置

  1. 下载源码
  2. 解压缩bochs-2.4.5.tar.gz ==>bochs-2.4.5
  3. 进入源码目录:
cd bochs-2.4.5
  1. 配置
./configure -enable-debugger -enable-disasm
  1. 编译
make
  1. 安装
sudo make install
  • 小贴士
    • 确定bochs的安装路径(which bochs
    • 安装vgabios(apt-get install vgabios
    • 确定vgabios的安装路径(whereis vgabios

在这里插入图片描述

3. Bochs的启动文件

###############################################################
# Configuration file for Bochs
###############################################################

# how much memory the emulated machine will have
megs: 32

# filename of ROM images
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/share/vgabios/vgabios.bin

# what disk images will be used
floppya: 1_44=a.img, status=inserted

# choose the boot disk.
boot: floppy

# where do we send log messages?
# log: bochsout.txt

# disable the mouse
mouse: enabled=0

# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map

3.1 启动Bochs虚拟机

  • 显式方式:
    bochs -f bochsrc_file
  • 隐式方式:
    bochs
  • 当前目录下的启动文件优先级:
    (从上往下依次查找当前目录下是否有如下启动文件)
    • .bochsrc
    • bochsrc
    • bochsrc.txt

3.2 调试环境验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时bochs中显示的黑屏,需要我们手动在控制台输入c:

在这里插入图片描述
在这里插入图片描述

4. Bochs中的常用调试命令

在这里插入图片描述

注:将关键寄存器的值初始化为0

org 0x7c00
start:
    mov ax, cs
    mov ss, ax
    mov ds, ax
    mov es, ax

在主引导程序加载运行时,cs段寄存器已经被初始化为0。eip初始化为7c00。

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uuxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值