您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统week05实验报告
四川大学计算机学院、软件学院实验报告课程名称操作系统课程设计实验课时1实验项目GDB综合使用实验时间2015年4月2日实验目的学习使用GDB进行程式调试实验环境X86,WindowsXP,VMware5.0,RedHatLinux9.0,SSHSecureShellClient-3.2.9实验内容(算法、程序、步骤和方法)Lab1---调试文件kmp.c。1)编译kmp.c为调试版本2)运行gdb调试kmp3)使用list命令查看函数getNext_01代码(图1.1)4)在getNext_02调用处下断点(图1.2)5)使用step跟进getNext_01函数内部6)进入getNext_01之后使用frame查看当前栈帧信息(图1.3)Lab2---调试以下程序,找出它的错误所在。程序的目的为将main函数中定义的字符串倒序输出,执行后,发现结果显示没有输出,使用GDB分析程序错误的原因,并修改程序,以达到程序预先的目的。#includestdio.hintdisplay1(char*string);intdisplay2(char*string);intmain(){charstring[]=“OperatingSystem”;display1(string);display2(string);}intdisplay1(char*string){printf(“theorginalstringis%s\n”,string);}intdisplay2(char*string1){char*string2;intsize,i;size=strlen(string1);string2=(char*)malloc(size+1);for(i=0;isize;i++)string2[size-i]=string1[i];string2[size+1]=‘\0’;printf(“thechangedstringis%s\n”,string2);}实验结果接有关截图Lab1---调试文件kmp.c。Lab2---调试可执行文件Test,找出它的错误所在。1)描述错误的原因在函数display2中,for循环内赋值出现错误,结束符错位导致string2中的第一个字符无法打出。2)修改方法通过执行程序可以知道,函数display2功能出了问题,现在在display2处设置断点。列出断点处源码,并且逐行运行使用frame监视函数变量数值变化情况,发现函数中的赋值错误使用vi修改代码进行编译运行查看最后结果小结通过本实验,我掌握了:使用gdb对程序进行调试,找出程序的错误,使用frame、run等命令的操作目前我存在的问题有:对gdb的掌握较为粗浅,不是很深入,操作也不是很熟练。指导老师评议成绩评定:指导教师签名:实验报告说明专业实验中心实验名称要用最简练的语言反映实验的内容。如验证某程序、定律、算法,可写成“验证×××”;分析×××。实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。实验环境实验用的软硬件环境(配置)。实验内容(算法、程序、步骤和方法)这是实验报告极其重要的内容。这部分要写明依据何种原理、定律算法、或操作方法进行实验,要写明经过哪几个步骤。还应该画出流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。数据记录和计算指从实验中测出的数据以及计算结果。结论(结果)即根据实验过程中所见到的现象和测得的数据,作出结论。小结对本次实验的体会、思考和建议。备注或说明可写上实验成功或失败的原因,实验后的心得体会、建议等。注意:实验报告将记入实验成绩;按时提交实验报告。
本文标题:操作系统week05实验报告
链接地址:https://www.777doc.com/doc-2381032 .html