使用 Bochs 调试操作系统
来源:互联网 发布:织梦cms标签调用 编辑:程序博客网 时间:2024/05/23 23:30
编译安装 Bochs
- 下载 bochs 源码
http://sourceforge.net/projects/bochs/files/bochs/2.6.8/
- 解压之后进入该目录,进行配置
sudo ./configure --enable-debugger --enable-disasm
- 编译安装
sudo make
sudo make install
这时,bochs 就编译安装完成了,接下来我们继续使用上一篇文章中所使用的软盘映像。
用 Bochs 调试操作系统
启动带有调试的 bochs 之后,我们会看到bochs 会进入一个选项界面,我们选择『6.Begin simulation』就可以开始调试了
部分 Bochs 调试指令
r
fp
sreg
creginfo cpu
r
fp
sreg
cre查看堆栈print-stackprint-stack查看内存物理地址内容xp /nuf addrxp /40bx 0x9013e查看线性地址内容x /nuf addrx /40bx 0x13e反汇编一段内存u start endu 0x30400 0x3040d反汇编执行的每一条指令trace-ontrace-on每执行一条指令就打印 CPU 信息trace-regtrace-reg
- 我们可以使用 help 来查看调试帮助
举例
采用上一篇文章中的镜像来进行调试
<bochs:1> b 0x7c00<bochs:2> c00000003305i[BIOS ] $Revision: 1.257 $ $Date: 2011/01/26 09:52:02 $……00014041008i[BIOS ] Booting from 0000:7c00(0) Breakpoint 1, 0x00007c00 in ?? ()Next at t=14041069(0) [0x000000007c00] 0000:7c00 (unk. ctxt): mov ax, cs ; 8cc8<bochs:4> x /64xb 0x7c00[bochs]:0x00007c00 <bogus+ 0>: 0x8c 0xc8 0x8e 0xd8 0x8e 0xc0 0xe8 0x020x00007c08 <bogus+ 8>: 0x00 0xeb 0xfe 0xb8 0x1e 0x7c 0x89 0xc50x00007c10 <bogus+ 16>: 0xb9 0x0d 0x00 0xb8 0x01 0x13 0xbb 0x0c0x00007c18 <bogus+ 24>: 0x00 0xb2 0x00 0xcd 0x10 0xc3 0x48 0x650x00007c20 <bogus+ 32>: 0x6c 0x6c 0x6f 0x2c 0x20 0x77 0x6f 0x720x00007c28 <bogus+ 40>: 0x6c 0x64 0x21 0x00 0x00 0x00 0x00 0x000x00007c30 <bogus+ 48>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00007c38 <bogus+ 56>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00<bochs:5> nNext at t=14041070(0) [0x000000007c02] 0000:7c02 (unk. ctxt): mov ds, ax ; 8ed8<bochs:6> trace-reg onRegister-Tracing enabled for CPU0<bochs:7> nNext at t=14041071eax: 0x00000000 0ecx: 0x00090000 589824edx: 0x00000000 0ebx: 0x00000000 0esp: 0x0000ffd6 65494ebp: 0x00000000 0esi: 0x000e472c 935724edi: 0x0000ffac 65452eip: 0x00007c04eflags 0x00000082: id vip vif ac vm rf nt IOPL=0 of df if tf SF zf af pf cf(0) [0x000000007c04] 0000:7c04 (unk. ctxt): mov es, ax ; 8ec0<bochs:8> c……
0 0
- 使用bochs调试操作系统
- 使用 Bochs 调试操作系统
- 调试操作系统-bochs使用入门
- bochs调试操作系统
- 《一个操作系统的实现》(二):使用Bochs调试操作系统
- 【从头开始写操作系统系列】使用 Bochs 调试操作系统
- 调试操作系统专用虚拟机--Bochs
- 使用bochs调试MBR
- 使用BOCHS调试MBR
- 使用bochs调试grub2
- 使用bochs+gbd调试geekos
- Bochs使用[练习自己动手写操作系统]
- [Bochs]Bochs调试技术
- [Bochs]Bochs调试技术
- 用Bochs搭建操作系统引导程序调试环境
- bochs调试操作系统,以及可引导img的制作
- 写操作系统--0.bochs源码编译安装及其调试指令
- 写操作系统----1.bochs调试的环境搭建
- 配置Tomcat虚拟目录
- zookeeper curator获取唯一序列
- 华为南研所校招软件技术岗几点建议
- Redis配置文档详解
- IJKMediaPlayer静态库制作
- 使用 Bochs 调试操作系统
- iOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- TCP链接从服务器到客户端DEMO
- 大神博客
- 抓包工具Fiddler
- h5学习笔记: 下拉菜单(2)
- Mysql分库分表实践(短链接的实现)
- 40个Java多线程问题总结 (r)
- python模块datetime使用3