Bochs

工具

bochs: bochs

ubuntu安装配置Bochs

  1. 安装bochs

sudo apt-get install bochs bochs-x

  1. 创建工程目录

创建工程目录并进入

  1. 新建并修改配置文件

在工程目录下新建bochsrc.me文件

$ vim bochsrc.me

cpu: model=core2_penryn_t9600, count=1, ips=50000000, reset_on_triple_fault=1, ignore_bad_msrs=1, msrs="msrs.def"
cpu: cpuid_limit_winnt=0 memory: guest=512, host=256 ## vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest mouse: enabled=0 pci: enabled=1, chipset=i440fx private_colormap: enabled=0 floppya: 1_44=/dev/fd0, status=inserted ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 ata0-master: type=disk, mode=flat,path="build/ratsos.img" boot: disk floppy_bootsig_check: disabled=0 log: bochsout.txt panic: action=ask
error: action=report
info: action=report
debug: action=ignore, pci=report # report BX_DEBUG from module 'pci' debugger_log: - parport1: enabled=1, file="parport.out" #sound: driver=default, waveout=/dev/dsp. wavein=, midiout= #speaker: enabled=1, mode=sound

Bochs使用

1. 运行

进入工程目录

输入 bochs命令运行

进入选择命令行,输入6启动模拟器

2. 创建硬盘镜像

bximage -mode=create -hd=128M -imgmode=flat -q icyos.img

3. 根据配置文件运行

命令如下:

bochs -f bochsrc.me

4. Bochs调试

命令 说明
blist 显示所有断点信息
pb [物理地址] 设置断点,以物理地址方式
vb [虚拟地址] 设置断点,以虚拟地址方式
lb [线性地址] 设置断点,以线性地址方式
d [断点号] 删除断点 ,断点号根据blist查询
c 继续执行,跳到下一个断点/
s [N] 单步执行
n 单步执行(跳过call函数内部 )
q 退出

显示信息

命令 说明
show mode 显示模式切换
show int 显示中断
show call 显示call调用
trace on 显示指令反编译
info ivt 显示ivt(中断向量表)信息
info idt 显示idt(中断描述符表)信息
info gdt 显示gdt信息
info ldt 显示ldt信息
info tss 显示tss信息
info tab 页表映射
reg 通用寄存器信息 + 标志寄存器 + eip寄存器信息
sreg 段寄存器信息
creg 控制寄存器信息
dreg 调试寄存器信息
print-stack N 堆栈信息

内存信息

命令 说明
xp /nuf [物理地址] 显示物理地址处内容,例如:xp /16 0xa0000
x /nuf [线性地址] 显示线性地址处内容
setpmem
page

3.2 Bochs的更多相关文章

  1. 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置

    前言:本机环境ubuntu 14.04 bochs 2.4.5 一.下载 官网 http://bochs.sourceforge.net/ 二.安装 1.将下载好的压缩包解压并进入该目录 .tar.g ...

  2. bochs上网及配置

    下载并安装bochs2.6:(不能是更高版本) 创建bochs 时注意勾选Dlx linux Demo,但是其文件bochsrc.bxrc中无Ne2k网卡选项,这一段要自己添加,详情见后. 先确定我们 ...

  3. 虚拟机软件bochs编译使用问题

    bochs是一款具有调试功能的虚拟机软件,由C++编写,可用于调试操作系统.从ubuntu软件源中下载的很可能没有调试功能,需要先下载源码,可能比编译之后的可执行文件大的多. 编译时有很多选项,可以通 ...

  4. 【Bochs 官方手册翻译】 第一章 Bochs介绍

    Bochs 是一个可以完全模拟 Intel x86 计算机的虚拟机系统.它包含了 Intel x86 CPU 仿真.常见设备仿真.以及定制 BIOS.Bochs 可以虚拟多种不同类型的 x86 CPU ...

  5. ubuntu 安装bochs

    //首先官网下载bochs源码wget http://bochs.sourceforge.net/svn-snapshot/bochs-20150503.tar.gz//然后解压 tar vxzf b ...

  6. Linux Mint下编译Bochs

    我在Linux Mint命令行下输入sudo apt-get install bochs安装之后发现这个没有安装gui界面,使用也存在一些问题,所以直接删掉从官网下载代码自己编译安装. 给Linux ...

  7. Bochs使用说明

    简介 关于Bochs的介绍:http://en.wikipedia.org/wiki/Bochs Bochs的官网:http://bochs.sourceforge.net/ 这里记录如何在Windo ...

  8. bochs安装一系列问题

    http://blog.chinaunix.net/uid-23817499-id-3418083.html http://www.mouseos.com/os/tools/bochs.html    ...

  9. Ubuntu系统安装配置Pintos和Bochs

    Ubuntu系统安装配置 Pintos 和 Bochs 安装过程 首先是UEFI启动模式下Win8.1安装Ubuntu14.04双系统,由于篇幅过长,就不在这里详写.可见博主的另一篇博客http:// ...

  10. 64位Ubuntu 13.04 安装Bochs 2.3.5

    bochs 2.3.5源码编译 网上编译bochs的资料非常多,基本的问题都有解决方案,我重点讲不常见的问题. 基本安装步骤 tar vxzf bochs-2.3.5.tar.gz cd bochs- ...

随机推荐

  1. Anaconda 简单介绍 -- 环境管理

    前面介绍了 Anaconda 的安装,接下来介绍一下 简单使用,后续并实时更新. 常用操作命令: 环境操作 1.查看环境管理的全部命令帮助: conda env -h 2.查看当前系统下的环境: co ...

  2. Python全栈开发-Day3-Python基础3

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3.递归 4.函数式编程介绍 5.高阶函数 1.函数基本语法及特性 三种编程范式: 1.面向过程:过程——> def 2.面向对象:类— ...

  3. HAL无阻塞延时

    //实现间隔time_interval时间点亮红灯(此时间间隔并不是绝对的,是大于等于的关系)//用于系统要求无延时且延时时间粗略的场合,比如间隔一段时间采样数据,间隔一段时间点亮状态灯等//HAL_ ...

  4. English trip V1 - B 3. I'd Like a Room,Please 请给我一间房? Teacher:Julia Key:

    In this lesson you will learn to say what you need. 课上内容(Lesson) twin size bed  单人床 elevator     n. ...

  5. 57 ORM多表查询

    多表查询from django.db import models# Create your models here. class Author(models.Model): nid = models. ...

  6. CF1114E Arithmetic Progression

    给定一个打乱的等差数列,每次两种操作. 1.查询一个位置. 2.查询是否有比x大的数字. 一共60次操作. sol: 30次操作即可二分出首项. 剩下30次操作查询出30个位置然后两两做差取gcd即可 ...

  7. Android BottomNavigationBar底部导航控制器的使用(包含默认postion的设置)

    转载请标明出处:http://blog.csdn.net/u010046908/article/details/50962081本文出自:[李东的博客] 最近Google在自己推出的Material ...

  8. php 常用函数总结

    1. is_numeric() // 判断变量是不是数字或者数字字符串 2. array_column() // 获取某一列 3. array_search() // array_search(val ...

  9. csu oj 1341 string and arrays

    Description 有一个N*N的字符矩阵,从上到下依次记为第1行,第2行,……,第N行,从左至右依次记为第1列,第2列,……,第N列. 对于这个矩阵会进行一系列操作,但这些操作只有两类: (1) ...

  10. 【转】Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)

    E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对I ...