《国开最新《数据结构(本)》形考任务实验报告:实验1:实验环境的使用实验报告.docx》由会员分享,可在线阅读,更多相关《国开最新《数据结构(本)》形考任务实验报告:实验1:实验环境的使用实验报告.docx(14页珍藏版)》请在第一文库网上搜索。
1、数据结构课程实验报告学生姓名学号班级指导老师实验名称实验1实验环境的使用实验成绩实!险报告实验概述实验目的:熟悉操作系统集成实验环境OS1ab的基本使用方法。实验要求:练习编译、调试EOS操作系统内核以及EOS应用程序。实验基本原理:实验内容实验设计思路、步骤和方法等:实验过程(实验中涉及的记录、数据、分析):1启动OS1ab2学习OS1ab的基本使用方法2.1新建Windows控制台应用程序项目1、新建一个WindOWS控制台应用程序项目的步骤如下:(1)在“文件”菜单中选择“新建”,然后单击“项目”。(2)在“新建项目”对话框中,选择项目模板“控制台应用程序(c)”。(3)在“名称”中输入
2、新项目使用的文件夹名称“os1ab。(4)在“位置”中输入新项目保存在磁盘上的位置“C:Test。(5)点击“确定”按钮,结果如图1所示。2、创建完毕后OS1ab会自动打开这个新建的项目。在“项目管理器”窗口中,树的根节点表示项目,可以看到项目的名称是“conso1e”,各个子节点是项目包含的文件夹或者文件。此项目的源代码主要包含一个头文件“conso1e”和一个C语言源文件“conso1e.c,如图2所示。项目M*QXBcet16,头文伸Mem,o1.hJ1J超支律C1C4M1.C图22.2生成项目在“生成”菜单中选择“生成项目”。在项目的生成过程中,“输出”窗口会实时显示生成的进度和结果。
3、如果源代码中不包含语法错误,会在最后提示生成成功,如图3所示。生成己启动生成:项目:COnSo1e,配置:DebUf正在编译.conso1e.C正在链接.conso1e-统计到0个错误,0个警告=隹庚:成功=2. 3执行项目在OS1ab中选择“调试”菜单中的“开始执行(不调试)”,就可以执行此控制台应用程序。启动执行后会弹出一个WindoWS控制台窗口,显示控制台应用程序输出的内容。按任意键即可关闭此控制台窗口,结果如图4。HeI1owor1d?谓按任意键继续2.4调试项目1、调试功能之前,对例子程序进行必要的修改,步骤如下:(1)右键点击“项目管理器”窗口中的“源文件”文件夹节点,在弹出的快
4、捷菜单中选择“添力口”中的“添加新文件”。(2)在弹出的“添加新文件”对话框中选择“C源文件”模板。(3)在“名称”中输入文件名称“func”。(4)点击“添加”按钮添加并自动打开文件func.c,此时的“项目管理器”窗口如图5所示。项目肯理器QX-,季conso1e三Q头文件Tconso1*,hO源文件C1conso1*,cCjfuac.c图52、在func.c文件中添加函数:intFunc(intn)n=n+1;returnn;3、点击源代码编辑器上方的conso1e.C标签,切换到conso1e,c文件。将main函数修改为:intmain(intargc,char*argv)intFu
5、nc(intn);/声明Func函数intn=0;n=Func(IO);printf(He11oWor1d!n,);return0;)4、代码修改完毕后按F7(“生成项目”功能的快捷键)。注意查看“输出”窗口中的内容,如果代码中存在语法错误,就根据提示进行修改,直到成功生成项目,结果如图6所示。1tfgH幺W.m已启动生成:项目:conso1e,配置:Debug正在编译.conso1e.Cconso1e-统计到0个错误,0个警告图62.4.1使用断点中断执行1、在main函数中定义变量n的代码行intn=0;上点击鼠标右键,在弹出的快捷菜单中选择“插入/删除断点”,如图7。1:日/*定义拄制台
6、应用程序的人口点M2”.#inc1udeconso1e,h三intmaintintargc,char*argv)(0intFunc(intn);/声B月FUnC函数intn=0,rn=Func(10);12printf(He11oWor1d!n*).13:return0;1更-短图73、在“调试”菜单中选择“启动调试,WindoWS控制台应用程序开始执行,随后OS1ab窗口被自动激活,并且在刚刚添加断点的代码行左侧空白中显示了一个黄色箭头,表示程序已经在此行代码处中断执行,如图8。S/足义正制甘应用在阡的人口点*/#inc1ude“conso1e,h,ntBain(intargchar*arg
7、v()(IntPunc(intn);/声明FUnC12款intn=0.nFunc(IO);4、激活WindOWS控制台应用程序的窗口如图9,可以看到窗口中没有输出任何内容,因为Printf函数还没有被执行。图92.4.2单步调试1、在OS1ab的“调试”菜单中选择“逐过程”,“逐过程”功能会执行黄色箭头当前指向的代码行,并将黄色筋头指向下一个要执行的代码行,如图IOo2a45678910V11曰/*定义控制台应用程件的入口点*/#inc1ude“conso1e,h*Iintmain(intargc,char*argv)(intFUnC(intn);/声明FUnC函数intn0;n=Func(I
8、O),printf(*He11oWor1d1n*),return0,1)图102、按F1O(“逐过程”功能的快捷键),黄色筋头就指向了调用Printf函数的代码行。查看控制台应用程序窗口,仍然没有任何输出,如图11。printf(zHe11of1orid!n),return0.3、再次按F1o执行Printf函数,查看控制台应用程序窗口,可以看到己经打印出了内容,如图秋颉conso1e.cfuncc)1-*定义总制百应用隹序加入口点*/23tinc1ude*conso1e,h*6intSn12main(intargc,char*argv)intFunc(intn),/声明EUnC函数intnO
9、,nFunc(IO),printf(*He11oWor1d!n*),returnO;14IS4I1oUor1df图124、仔细体会“逐过程”调试功能后,在“调试”菜单中选择“停止调试”,结束此次调试。5、按照下面的步骤练习使用“逐语句”功能和“跳出”功能:(1)按F5(“启动调试”功能的快捷键),仍然会在之前设置的断点处中断。(2)按F1O逐过程调试,此时黄色箭头指向了调用函数FUnC的代码行。(3)在“调试”菜单中选择“逐语句”,可以发现黄色箭头指向了函数FUnC中,说明“逐语句”功能可以进入函数来调试函数中的语句。(4)选择“调试”菜单中的“跳出”,会跳出FUnC函数,返回到上级函数中继续
10、调试(FUnC函数已经执行完毕)。(5)按SHIFT+F5(“停止调试”功能的快捷键),结束此次调试。2.4.3查看变量的值1、在调试的过程中,OS1ab提供了三种查看变量值的方法,按照下面的步骤练习这些方法:(1)按F5启动调试,仍然会在之前设置的断点处中断。(2)将鼠标移动到源代码编辑器中变量n的名称上,此时会弹出一个窗口显示出变量n当前的值(由于此时还没有给变量n赋值,所以是一个随机值)。(3)在源代码编辑器中变量n的名称上点击鼠标右键,在弹出的快捷菜单中选择“快速监视”,可以使用“快速监视”对话框查看变量n的值。点击“关闭”按钮关闭“快速监视”对话框,如图13o2、在源代码编辑器中变量
11、n的名称上点击鼠标右键,在弹出的快捷菜单中选择“添加监视”,变量n就被添加到了“监视”窗口中。使用“监视”窗口可以随时查看变量的值和类型。此时按F1O进行一次单步调试,可以看到“监视”窗口中变量n的值会变为0,如图14-15:名粽值其史07ff9W0g如图丝名称值突里nOxbiat如图152.4.4调用堆栈使用“调用堆栈”窗口可以在调试的过程中查看当前堆枝上的函数,帮助理解函数的调用层次和调用过程。按照下面的步骤练习使用“调用堆栈”窗口:(1)按F5启动调试,仍然会在之前设置的断点处中断。(2)选择“调试”菜单“窗口”中的“调用堆栈”,激活“调用堆栈”窗口。可以看到当前“调用堆栈”窗口中只有一个main函数,如图16。调用堆枝名称-1mtin(rSC-Ox1frv03陞b*囹Cjrt1H门“”CkdboE1iens,txt图193.2生成项目1、按F7生成项目,同时查看“输出”窗口中的内容,确认生成成功