实验环境的使用实验报告_第1页
实验环境的使用实验报告_第2页
实验环境的使用实验报告_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验环境的使用实验报告操作系统实验报告课程名称操作系统课程编号0906553实验项目名称实验环境的使用学号年级姓名专业计算机科学与技术学生所在院计算机科学与技术学院指导老师实验室名称哈尔滨工程大学计算机科学与技术学院实验环境的使用.实验概述1. 实验名称:实验环境的使用2. 实验目的:1) 熟悉操作系统集成实验环境OS Lab 的基本使用方法;2) 练习编译、调试EOS操作系统内核以 及EOS应用程序。3. 实验类型:验证4. 实验内容:1) 准备实验,启动OS Lab ;2) 学习OS Lab的基本使用方法;3) EOS内核项目的生成和调试;4) EOS应用程序项目的生成和调试;5) 退出

2、OS Lab ;6) 保存EOS内核项目二. 实验环境操作系统:win dows XP编译器:Tevalaton OS Lab语言:C+三. 实验过程1.实验过程:1)启动OS Lab,在启动后弹出的对话框中填入学号、姓名;2)学习OS Lab的基本使用方法,使用 OS Lab编写一个 windows控制应用台应用 程序,熟悉OS Lab的基本使用方法(主要 包括新建项目、生成项目、调试项目等);I .eJi呵牛 申士(0在“文件”菜单中选择新建项目,并选 择项目模板“控制台应用程序”。3)点击F5生成项目,并对结果中的问 题进行修改。1U: IiiiJ-如果源代码中存在语法错误,窗口会输出相

3、应的错误信息(包括错误所在 文件的路径,错误 在文件中的位置,以及 错误原因),并在最后提示生成失败。此时 在“输出”窗口中双击错误信息所在的 行,OS Lab会使用源代码编辑器打开错误所 在的文件,并自动定位到错误对应的代码 行。可以在源代码文 件中故意输入一些错 误的代码(例如删除一个代码行结尾的分 号),然后再次生成项目,然后在"输出”窗 口中双击错误信息来定位存在错误的代码 行,将代码修改正确后再生成项目。4)执行项目,在 OS Lab中选择“调 试”菜单中的“开始执行(不调试)”,可以执 行刚刚生成的 Windows控制台应用程 序。启动执行后会弹出一个 Windows控制

4、 台窗口,显示控制台应用程序输出的内容。按任意键即可关 闭此 Windows控制台窗 口。5)调试项目,点击“项目管理器”窗 口中的“源文件”文件夹节点,在弹出的快 捷菜单中选择“添加”中的“添加新文件”, 文件中的函数如下所示。int test1(int n)n+;return n;6)将主函数进行修改。7)使用断点中断执行,在main函数中 定义变量n的代码行添加一个断点,在“调 试"菜单中选择“启动调试",Windows控 制台应用程序开始执行,随后 OS Lab窗 口被自 动激活,并且在刚刚添加断点的代 码行左侧空白中显示一个黄色箭头,表示程 序已经在此行代码 处中

5、断执行(也就是说 下一个要执行的就是此行代码)。此时查看 控制台应用程序的窗口,可以看到窗口中没 有输出n的值。8)选择逐过程调试,可以看到控制台 应用程序窗口,已经打印了 n的值,结束调 试。9)再次启动程序,程序依旧会在断点 处中断,此时采用逐语句进行调试,可以发 现黄色箭头指向了 testl中的函数,选择“跳 出”,会跳出testl函数,返回到上级函数中 继续调试;10)查看变量的值,将鼠标移动到源代 码编辑器中变量n的名称上,此时会弹出 一个窗口显示出变量 n当前的值(由 于此 时还没有给变量n赋值,所以是一个随机 值)。在源代码编辑器中变量 n的名称上点 击鼠标右键,在弹出的快捷菜单

6、中选择“快 速监视”,可以使用“快速监视”对话框查 看变量n的值。然后,可以点击"关闭”按钮关闭“快速监视”对话 框11)调用堆栈,启动调试,会在之前设 置的断点处中断,选择“调试”菜单“窗口 中的“调用堆栈”,激活“调用堆栈”窗口。 可以看到当前“调用堆 栈”窗口中只有一 个main函数(显示的内容还包括了参数值 和函数地址)。采用逐过程调试,直到进入到 testl函 数,查看“调用堆栈”窗口可以发现在堆栈上有两个函数testl和main。其中当前正在 调试的testl函数在栈顶位置,main函数在 栈底位置。说明是在 main函数中调用了 testl函数。在“调用堆栈”窗口中双击

7、ma in函数所在的行,会有一个绿色箭头指向main函数所在的行,表示此函数是当前调用堆 栈中的活动函数。同时,会将main函数所 在的源代码文件打开,并也使用一个绿色 箭头指向testl函数返回后的位置。反复双击“调用堆栈"窗口中 Func函 数和main函数所在的行,查看"监视"窗 口中变量n的值,可以看到在不同的堆栈 帧被激活时,OS Lab调试器会自动更新"监视"窗口中的数据,显示出对应于当前活动堆栈帧的信息。结束调试。12) 新建项目,选择项目模板“EOS Kern el ”。13)生成项目,打开 C:eosdebug文 件夹,查看生

8、成的对象文件和目标文件。 找 到boot.bin、loader.bin 和 kernel.dll 三个 二进制文件,这三个文件就是EOS操作系 统在运行时需要的可执行文件。OS Lab每 次启动运行EOS操作系统之前,都会将这 三个文件写入一个软盘镜像文件中,然后让 虚拟机运 行这个软盘镜像中的 EOS(相当 于将写有这三个二进制文件的软盘放入一 个物理机的软盘驱动器中,然后按下开机 按钮)。找到libkernel.a文件,此文件是 EOS内核文件 kernel.dll对应的导入库 文件。14)在“项目管理器”窗口的文件夹中找到start.c文件节点,双击此文件节点使 用源代码编辑器打开sta

9、rt.c文件。在start.c 文件中 KiSystemStartup 函数的“KilnitializePic();"语句所在行添加一个断 点,继续调试,熟悉各种调试功能的使用方 法。15)查看软盘镜像文件的内容,在“项目管理器”窗口中双击软盘镜像文件 Floppy.img,就会使用 FloppylmageEditor 工具打开此文件。在FloppyImageEditor工具的文件列表中可以找到 loader.bin文 件和kernel.dll文件,这两个文件都是在启 动调试时被写入软盘镜像文件的(可以查看 这两个文件的修改日期)。boot.bin文件在 启动调试时被写入了软盘镜像的

10、引导扇区中,不受软盘文件系统的管理,所以在文 件列表中找不到此文件。关闭FloppylmageEditor 工具。16)点击 OS Lab工具栏上的“项目配置”下拉列表,选择下拉列表中的“ Release"项目配置,“ Release"项目配置 被设置为新的活动项目配置,生成项目。17)SDK文件夹中提供了开发EOS应用程序需要的所有文件。打开SDK文件 夹中的bin文件夹,可以看到有两个名称分别为debug和release的文件夹。debug 文件夹是在使用 debug配置生成项目 时 生成的,其中存放了调试版本的 EOS二进 制文件。release文件夹是在使用 rel

11、ease配置生成 项目时生成的,其中存放了发布 版本的EOS二进制文件(不包含调试信 息)。分别打开这两个文件夹查看其中包含 的文件。18)新建EOS应用程序项目,生成项目,打开C:eosappdebug文件夹,查看生成的对象文件和目标文件。其中的EOSApp.exe就是EOS应用程序的可执 行文件。OS Lab每次启动执行EOS应用 程序时,都会将EOS应用程序的可执行文 件写入软盘镜像,并且会将SDK文件夹中 对应配置(Debug或 Release)的二进制文 件写入软盘镜像,然后让虚拟机运行软盘 镜像中的EOS,待EOS启动后再自动执 行EOS应用程序。19)调试项目,启动调试,。OS Lab会 弹出一个调试异常对话框,选择"是"调试 异常,EOS应用程序会中断执行,黄色箭 头指向下一个要执行的代码行,在 EOSApp.c 的 printf("Hello world!n");代 码行添加一个断点,继续调试,查看虚拟机 窗口,EOS应用程序执行完毕。20)将EOSApp文件重命名为MyApp, 在“调试”菜单中“删除所有断点”,忽略 异常,激活虚拟机窗口,可以到自动执行的 可执行文件的名称为 MyApp.exe。21)退出OS Lab,在关闭时会弹出一 个保存数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论