从头开始操作系统系列】使用 Bochs 调试操作系统

网友投稿 889 2022-05-29

在上一篇文章《环境搭建以及第一个Hello-World》中,笔者讲了如何安装 bochs 以及运行一个 helloworld 操作系统,但是使用上一篇文章中的方法安装的 bochs 是不支持调试的,下面我讲介绍如何使用源码编译的方法来安装 bochs,以及使用 bochs 来调试操作系统。

编译安装 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 调试指令

- 我们可以使用 help 来查看调试帮助

举例

采用上一篇文章中的镜像来进行调试

b 0x7c00 c 00000003305i[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 x /64xb 0x7c00 [bochs]: 0x00007c00 : 0x8c 0xc8 0x8e 0xd8 0x8e 0xc0 0xe8 0x02 0x00007c08 : 0x00 0xeb 0xfe 0xb8 0x1e 0x7c 0x89 0xc5 0x00007c10 : 0xb9 0x0d 0x00 0xb8 0x01 0x13 0xbb 0x0c 0x00007c18 : 0x00 0xb2 0x00 0xcd 0x10 0xc3 0x48 0x65 0x00007c20 : 0x6c 0x6c 0x6f 0x2c 0x20 0x77 0x6f 0x72 0x00007c28 : 0x6c 0x64 0x21 0x00 0x00 0x00 0x00 0x00 0x00007c30 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00007c38 : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 n Next at t=14041070 (0) [0x000000007c02] 0000:7c02 (unk. ctxt): mov ds, ax ; 8ed8 trace-reg on Register-Tracing enabled for CPU0 n Next at t=14041071 eax: 0x00000000 0 ecx: 0x00090000 589824 edx: 0x00000000 0 ebx: 0x00000000 0 esp: 0x0000ffd6 65494 ebp: 0x00000000 0 esi: 0x000e472c 935724 edi: 0x0000ffac 65452 eip: 0x00007c04 eflags 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 c ……

1

2

3

4

【从头开始写操作系统系列】使用 Bochs 调试操作系统

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

汇编语言

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:元旦快乐丨华为云开发者社区年终颁奖即将揭晓!快来看看你榜上有名吗?
下一篇:“容器”你真的了解吗---上篇!
相关文章