微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

reactos操作系统实现(186)

要调试内核代码是一件不容易的事情,一般是需要双机调试的方法,一台电脑作为目标机器来运行编译出来的操作系统,另一台电脑作为跟踪调试的机器,用来查看操作系统输出的调试信息、以及输入命令给操作系统。现在就来介绍基于虚拟机的方式来调试内核代码,最简单的方式就是使用串口通讯的方式,并且串口设置为零调制方式,也就是说只需要把数据线接收和发送交叉连接就可以了。假如在物理的电脑里有两个串口,分别命名为COM1COM3,那么就可以在虚拟机里使用COM1作为输出串口,然后拿一条交叉的串口线把物理串口COM1COM3连接起来,再打开串口程序并且连接串口COM3,那么就可以显示操作系统输出的信息,也可以输入命令给虚拟机操作系统了。交叉的串口线如下图所示:

DTE1_______________________________________________DTE 2

9pol 25pol (female)__________________________25pol 9pol (female)

5 7 ---GND---------------------GND------- 7 5

2 3 ---RxD--------.,----------RxD------- 3 2

X

3 2 ---TxD--------' `----------TxD------- 2 3

7 4 ---RTS--------.,----------RTS------- 4 7

X

8 5 ---CTS--------' `----------CTS------- 5 8

4 20 ---DTR--------.,----------DTR------- 20 4

X

6 6 ---DSR--o-----' `-------o--DSR------- 6 6

| |

1 8 ---DCD--' `--DCD------- 8 1

其实使用虚拟机,就更加方便了,即使没有物理串口,也可以使用虚拟串口的方式来连接虚拟机和主机之间的通讯。在WinXP操作系统里,可以编写虚拟的驱动程序,这样就可以虚拟两个串口出来,并且这两个串口就是为了交换数据的。因此需要安装一个可以虚拟两个串口,并实现零调制方式的驱动程序,它就是com0com驱动程序。可以通过下面的网页下载:

http://sourceforge.net/projects/com0com/files/

我这里下载的是com0com-2.2.2.0-i386-fre.zip文件,解压并安装后,就可以通过开始菜单里找到Setup程序来配置两个串名称和参数等,如下图:

接着运行Setup程序,就可以出现下面界面:

上面不是安装后缺省的参数,我更改两个串口的名称COM7COM8。这样就准备好两个通讯的串口了,然后在VMware里就可以添加串口COM7作为输出输入串口,如下图所示:

设置好虚拟机的串口后,就可以去设置主机的串口程序了。这里使用PuTTY程序来作为串口程序,需要从下面的网站上下载,如下:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

下载完程序后,然后运行程序打开COM8的串口,这样可以设置串口完成。

最后选择KDBG方式编译,选择ReactOS(RosDbg)的方式启动,就会在PuTTY里看到下面的界面,并可以输入调试命令,如下:

通过这样的方式,就可以进入内核代码的调试和开发了。

原文地址:https://www.jb51.cc/react/308334.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐