实验环境的使用实验报告.doc
操作系统实验报告 "课程名称 "操作系统 "课程编号 "0906553 " "实验项目名称 "实验环境的使用 " "学号 " "年级 " " "姓名 " "专业 "计算机科学与技术 " "学生所在院 "计算机科学与技"指导老师 " " " "术学院 " " " "实验室名称 " " " " 哈尔滨工程大学 计算机科学与技术学院 实验环境的使用 一.实验概述 1. 实验名称:实验环境的使用 2. 实验目的: 1. 熟悉操作系统集成实验环境OS Lab的基本使用方法; 2. 练习编译、调试EOS操作系统内核以及EOS应用程序。 3. 实验类型:验证 4. 实验内容: 1. 准备实验,启动OS Lab; 2. 学习OS Lab的基本使用方法; 3. EOS内核项目的生成和调试; 4. EOS应用程序项目的生成和调试; 5. 退出OS Lab; 6. 保存EOS内核项目 二.实验环境 操作系统:windows XP 编译器:Tevalaton OS Lab 语言:C++ 三.实验过程 1.实验过程: 1)启动OS Lab,在启动后弹出的对话框中填入学号、姓名; 2)学习OS Lab的基本使用方法,使用OS Lab编写一个windows控制应用台应用程序,熟悉OS Lab的基本使用方法(主要包括新建项目、生成项目、调试项目等); 在"文件"菜单中选择新建项目,并选择项目模板"控制台应用程序"。 3)点击F5生成项目,并对结果中的问题进行修改。 如果源代码中存在语法错误,"输出"窗口会输出相应的错误信息(包括错误所在文件 的路径,错误 在文件中的位置,以及错误原因),并在最后提示生成失败。此时在"输出"窗口中双 击错误信息所在的 行,OS Lab 会使用源代码编辑器打开错误所在的文件,并自动定位到错误对应的代码行。可以在 源代码文 件中故意输入一些错误的代码(例如删除一个代码行结尾的分号),然后再次生成项 目,然后在"输出" 窗口中双击错误信息来定位存在错误的代码行,将代码修改正确后再生成项目。 4)执行项目,在 OS Lab 中选择"调试"菜单中的"开始执行(不调试)",可以执行刚刚生成的 Windows 控制台应 用程序。启动执行后会弹出一个 Windows 控制台窗口,显示控制台应用程序输出的内容。按任意键即可关 闭此 Windows 控制台窗口。 5)调试项目,点击"项目管理器"窗口中的"源文件"文件夹节点,在弹出的快捷菜单 中选择"添加"中 的"添加新文件",文件中的函数如下所示。 int test1(int n){ n++; return n;} 6)将主函数进行修改。 7)使用断点中断执行,在main函数中定义变量n的代码行添加一个断点,在"调试"菜 单中选择"启动调试",Windows 控制台应用程序开始执行,随后 OS Lab 窗口被自 动激活,并且在刚刚添加断点的代码行左侧空白中显示一个黄色箭头,表示程序已经 在此行代码 处中断执行(也就是说下一个要执行的就是此行代码)。此时查看控制台应用程序的 窗口,可以看到窗口中没有输出n的值。 8)选择逐过程调试,可以看到控制台应用程序窗口,已经打印了n的值,结束调 试。 9)再次启动程序,程序依旧会在断点处中断,此时采用逐语句进行调试,可以发 现黄色箭头指向了test1中的函数,选择"跳出",会跳出test1函数,返回到上级函数 中继续调试; 10)查看变量的值,将鼠标移动到源代码编辑器中变量 n 的名称上,此时会弹出一个窗口显示出变量 n 当前的值(由 于此时还没有给变量 n 赋值,所以是一个随机值)。 在源代码编辑器中变量 n 的名称上点击鼠标右键,在弹出的快捷菜单中选择"快速监视",可以 使用"快速监视"对话框查看变量 n 的值。然后,可以点击"关闭"按钮关闭"快速监视"对话 框。 11)调用堆栈,启动调试,会在之前设置的断点处中断,选择"调试"菜单"窗口" 中的"调用堆栈",激活"调用堆栈"窗口。可以看到当前"调用堆 栈"窗口中只有一个 main 函数(显示的内容还包括了参数值和函数地址)。 采用逐过程调试,直到进入到test1函数,查看"调用堆栈"窗口可以发现在堆栈上 有两个函数test1和main。其中当前正在调试的test1函数在栈顶位置,main 函数在栈底位置。说明是在 main 函数中调用了test1函数。 在"调用堆栈"窗口中双击 main 函数所在的行,会有一个绿色箭头指向 main 函数所在的行,表 示此函数是当前调用堆栈中的活动函数。同时,会将 main 函数所在的源代码文件打开,并也使 用一个绿色箭头指向test1函数返回后的位置。 反复双击"调用堆栈"窗口中Func函数和main函数所在的行,查看"监视"窗口中变 量n的值, 可以看到在不同 实验报告详细介绍了操作系统课程中的一个实验项目,名为“实验环境的使用”。实验目的是让学生熟悉操作系统集成实验环境OS Lab,以及练习使用它来编译和调试EOS操作系统内核和应用程序。实验过程中,学生需要掌握以下几个关键知识点: 1. **OS Lab的使用**:OS Lab是一个集成开发环境,用于操作系统的教学和实验。它提供了编译、调试等功能,帮助学生构建和测试操作系统相关的项目。 2. **实验流程**: - 启动OS Lab并填写个人信息。 - 创建和理解项目的基本结构,通过"文件"菜单创建一个新的控制台应用程序项目。 - 生成项目并解决编译错误。如果出现错误,"输出"窗口会显示详细信息,学生需根据这些信息定位并修复代码。 - 执行生成的项目,观察控制台输出,理解程序运行过程。 - 调试项目,包括设置断点、逐过程执行、查看变量值等,以便理解程序执行流程。 - 使用断点中断执行,通过逐语句调试和"跳出"功能深入理解函数调用和执行流程。 - 查看和分析变量值,如使用"快速监视"查看变量n的值。 - 利用调用堆栈窗口理解函数调用关系,通过双击函数名在源代码中定位并理解调用顺序。 3. **调试技巧**: - **断点**:在代码中设置断点可以暂停程序执行,便于检查状态。 - **逐过程/逐语句调试**:这两种方式可以帮助学生逐步了解代码的执行顺序,找出问题所在。 - **调用堆栈**:显示了函数调用的层次结构,对于理解和跟踪函数之间的交互非常有用。 4. **编程语言**:本实验使用的是C++,一种常用的系统级编程语言,适合编写操作系统内核和底层软件。 5. **操作系统基础**:虽然实验主要关注实验环境的使用,但同时也涉及到操作系统内核和应用程序的编译与调试,这是操作系统课程的基础知识。 通过这个实验,学生不仅能熟悉OS Lab这样的实验环境,还能提升在操作系统环境下进行程序开发和调试的能力,为后续更深入的学习打下坚实基础。