版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、深圳大学实验报告课程名称:计算机系统(2)实验项目名称:实验环境配置与使用学院:计算机与软件学院专业:计算机与软件学院所有专业指导教师:罗秋明报告人:学号:班级:实验时间:2017年3月19日实验报告提交时间:2017年3月19日教务处制、实验目标: 熟悉Linux上C程序的编译和调试工具,包括以下内容:.了解Linux操作系统及其常用命令.掌握编译工具gcc的基本用法.掌握使用gdb进行程序调试二、实验环境与工件个人电脑Fedora 13 Linux 操作系统gccgdb三、实验内容与步骤.根据实验一:实验环境配置与使用.ppt熟悉Linux基本操作(P.1 - P.28), 然后根据以下过
2、程创建用户:用户名为学生名称加学号,如 赖丹辉,学号 2013150040,则该用户名为Laidanhui_2013150040。按照1.11.3完成并截 图,截图需要有运行的命令及其结果。另外:后面的题目必须在该新建用户下完成。(30分) 实验步骤:首先切换为超级用户$suHelldan hut -|S su 加禺:,设置新建用户的密码,注意:只有设置了密码才能激活参考以下命令创建新用户用户,否则无法以该用户身份登录#useraddLaidanhui_2013150040#passwd Laidanhui_2013150040lielloLdtiddnhul/home/Hello一与 X温展
3、(El营看作典站IT)召忖旧roatgiaidanhui Hella# userEidri Lai(lanliLii_20i3i5se4Ei jnMtflLaMaflhul Hello I# ihesmI LsidanhuL 2H31SW4B史魂用户 Laidanhui 2 913150040的忠丽 ”新的霭码:无颈的密炳;它浅有笆吉足点的DIFFERENT字符无敕的田明:是囿殳垂甘弱人零七者碣:oasswdi厮旧刘月也必皿当例己建戌功更斯uLaidanhui_2O1315OO4O0Laidanhui:*工注销当前用户,并以新建的用户身份登录,登录后运行$ whoami,并进行截图;TfF(H
4、舞强住卜色吉3卜甄流拜E4H(LdlCdnhul 2G13150943(aLdLJdntlul 4 rllUdllLaidanhui 2013 LS054(1Laidanhui 2G1315SMtELaidaiihuL 7$ I.新建用户主目录下创建子目录:gdbdebug,并进入gdbdebug子目录。将过程和结果截图。(10分) 深圳大学学生实验报告用纸3,使用vi编辑以下两个文件并编译和运行,截图(30分)编辑 reverse.h/*声明函数但不给出定义*/int reverse(char *str);编辑 reverse.cFile F 帆 Option RiiTrefS TOOK c
5、 He 始251 printfi Fi .1 p1 :。 , str)261按以下步骤编译,如有警告信息,请修改代码至无警告信息$gcc - Wall reverse.c - o reverse运行程序$./reverse4.按照以下过程调试并修正reverse.c,请参考过程截图。(30分)编译时加入调试信息$gcc -g reverse,c -o reversei启用GDBM试深圳大学学生实验报告用纸jrchlSBubuntuj-$ gdb ./reverseiria aGNU gdb (Ubuntu/Itnaro 7,3 OubuntuZ) 7.3-?flll,08Copyright (
6、C) 2011 F收 Software Foundation r Jnc;TLicense gplu3+: gnu qpl version 3 or later / This Is free software: you are f ree to change and redistribute it +There is NO MARRAMTV, ta the extent permitted by law- Type show copying and *$hs warranty for detalLs rhis GDB was configured as-Linux-gnu.For bug re
7、porting instructionsH please see:li .Heading synbols f ron /hone/archl9/revers el*.-done - 一此)|键入list,查看源代码并根据行号/函数名设置断点(断点位置仅供 参考,不需雷同)4.4.t gdb) break nam Bredkpcint 1 at igdb) break 14Bieakpcint 3 dL xi gdb) break 15Breakpcint 2 at 4 i gdb) brek le Breakpcint A atfilereverse1. c.Line。豪fileI tvtfl
8、 Sfel. c.Lil Hii.0X0004731OxaO4S434jI gdb) break 把veise Breakpoint at oxao4S44Lfilefilereversei crcversei ctLineLine15.16.NumTypeOispfnbAddressM】dt1breakpointkeepy0X08046414in nain at rcvcrseL c: 222bi erikpolirtkeipyDxOSUdH462in reverse a r&versei. et 143orcakpointkeepy0X06048473in reverse at rcver
9、sci. c; 151breakpoinikeepy0X08048404in reverse at reverse:, c; 165breakpointkrrpyXQftndFi 北in reverse nt 旧门5门 c 11filereverse!, c. linei gdbjinJo break gdb)runstart ift5 pr口g捌:/hone/airkai/C/reerseest观察变量值,并作分析,推测错误(过程仅供参考,不需雷同)深圳大学学生实验报告用纸Breakpoint 11 (gdb c Coniinuing5. reverse (str=OxbfttetaT te
10、n - rlen ( strj ;abedJ atB r dkpulnt2. revere itr-oxbfrfefiodbtd) atid = *?t r+i;(gtib) c continuing文m第珥:E)也型的然诜E bthi:Hinclude reverse, hT J T T T F 1* *! 修 + k FT * k k k k,E1 / - k h F1 h - h Fin: reverse (stn chor str:ifli 1:nt len;cliftr c;len = strlen f stn :f i = 5 i untj:/home/tlngoff passwd
11、 Yangllbtn_zo-i Enter ne* UNIX password:. R#typt nw UNIX password: pmvirfd: password updated successfully A” rootubuntu:/hone/bingo# ,注销当前用户,以新建用户登录深圳大学学生实验报告用纸EnTerniJnc1 Terminal File Edit Vi&w Search Terminal HelpYangUbin_2014040329ubuntu:、Ysngl1.btn_zei4e40329ubuntu 5 whoantY3nglibin_2ei464O329深
12、圳大学学生实验报告用纸2.新建用户主目录下创建子目录:gdbdebug,并进入gdbdebug子目录Termlna Terminal File Edit View Search Terminal HelpYanqlibh_2014040329)ubuntu: -/gdbdebugYangl1.btn_zei404ft3Z9ubuntu:$ pwd /hone/Yanglibln_2O1404e329 angltbtn_Z0i4O4e329ubunru$ nkdtr gdbdebugYanglibtn_2ei4e4e3290ubuntu:Is examples desktop gdbdebug
13、angltbtn_2014O4O3290ubuntu:-$ cd gdbdebug/ angltbtn_2014040329ubuntu:*/gdbtitbug$ pid /hone/Vanglibin_2014G4O329ygdbdebug Yangltbtn 20140403290ubuntu:*/gdbdebug$ I编辑 reverse.hTermirtc Temin# FHe Edit View Search Terminal HelpYanglibin_20l4040329ubuntu: /gdbdebugtnt reversetchar *str):Declare but not
14、 give a definition深圳大学学生实验报告用纸编辑 reverse.cTermfna Terminal File Edit View Search Terminal HelpYngUbM_2014C4032gubuntu:j/gdbdebu9include #include r reverse. hr|fftnclude Int reversefchar *str)(tnt 1;Int ten;char c;ten = strLeri(5tr );for(i = 0; 1 ubuntu: f/gdbdgbugYangltbln_2014O4O3Z9ubufttij :*/gdbd
15、ebug gcc rE白se.c -o e=写eYangLtbin_2B14D40329ubuntu */gdbdebuq$ */reverseGive me a word ta reverse:mbcdwfREVLRSCodglkdihj |Y an fit ttn_20140 403 29 ubuntu;-/gdbdebug$结果错误,需要进行调试。深圳大学学生实验报告用纸编译时加入调试信息Tcrrrin; Terminal File Edit View Search Terminal Hdp他令 Yanglibin_2014040329(nubunCu:,gdbdwbugYHngLlbt
16、n_201404C3Z9Mbuntu:/gdbdebdg$ gut g-o revu5RL后动gdb调试Termini TermiaL File Edit n星国 Sedich Teiminal Help哂 11.10 AM 中.丫猫nqLibIn_N01404力3N9uWntv: 一/gdbd邸bugVBn$ltbtn_26i46463Libuntu:-/gdbdebLjg5 gcc. *g reverse.c ,白 reverscl 丫巾91。5_2电14电4电32年。11武。:-JqdbdebugS gdb ./reverseiGNU gdb (Ubuntu 7.ll-ubuntul)
17、7.11Copyright (CJ ?016 Free Software Foundation IncTLicense iPLv3+: gnu gpl version 3 or liter vhttp:gnu2rg八t*口SM/gpl.tn汕 Thii is free softwir*: you art* fre? to change and redistribute it.There is no harfianty( to the extent pernttted by la“ Type show copytnfl己nd show warranty11 far detaiXs .Tht写 G
18、DB was configured as 16吕b-ltnux- gnu.Type ,show configuration for configurstion details.For bug report!ng Instructions, pleate see:http: /ww. nu,org/&oft3ire/gcib/tnjg&/.Find the GDB nanuaI and other documeritation resources nnltne at:http:/J + grnitor/softvJare/arFor helpj typt help.Type zpropos HQ
19、d to search for coFtends routed to ,grdfteddlnq symbols fr on .,r wuwr 5总工, *.dociE. Igdb) I4.3键入list查看行号,并设置断点Termina Terminal File Edit VieM Search Terminal HelpYangllbln_2014040329ubuntu: r,gdbdebuqType apropos word to search for connianda related to word * . Readtrg symbols from t/reversel+ *don
20、e, (gdb) list3 /include 4int rcverscfchar *str)Lot I;IrT len;char r;len = strlen(str);1&for(i = G;i.len/2; +1)11c = *str + i;1Z*(str + i) = *str + len 7 -1(gdb) break ginBreakpoint 1 at 0 x8O1S5bO: (gdb) break IBBreakpoint 2 at 0 x8O48S32:(gdb) break 11Br tdkpuLnt 3 dL 以804853b:(gdb) break 12Breakpo
21、int 4 at Bx864854b:(gdb) break everseBreakpoint S at 0 xG04G521:gdb) |file reverse.c, Une 17, file reverse.c, line 10. file rtveraec, line IL file reverse.c, line 12. fxle reverse.ct line 9.深圳大学学生实验报告用纸4.4逐步调试,分析错误2.42 PMContinuingFbfffebcc gbe加f白trSxbffFebcc lhgbcdefd(gdb) info breakNunTypeDisp Enb
22、 AddressHhmt1bredkpQlntkeep y 可又80485b。Ln Main at reversec:172breakpointkeep y 9x080i18532tn reverse at reverse.c:102breakpointkeep y 9x6904653bin reverse at reveres.11114breakpointkeep y 0 xe8048S4bin reverse at reversee:125breakpointkeep v axe8Q485Zltn reverse at reverse*e:y(gdb)深圳大学学生实验报告用纸-IM5ER
23、Tdngltbin_2D140403Z9ubuntu:w/gd bdebug$ Y号nglibin_2814840329ubuntu:/gd bdebug$ Ydngltbtn_20140403Zubuntuz*/gdbdebug; Gtup a word to reverse:vi reverses gee reverse,c ,/test,q testbbcdef 1 REVERSED zjgfed 匚商结果正确anglibtn_2O14040329ubjntu:-/gd bdebugS4.5修正程序并运行Termina Terminal File Edit View Search Ter
24、minal Help* Vanglibfn_2014040329()uburitu; -/gdbdebugint reverse(char *st)Int 1;Int len;char c:len = strlenfstr);for(i - 0; v I、/*: +*C 二 _ pl(/r+ l)=六+ l+n=1):*(str + Len - t -1) -;)return 1;1r访上甲山rn 哦若用於区屋洪续蜒界制1st用E号1/舌则 不端前里卜ecT的用户史年去.六无茫宜草图L罚的多在网上查找了很多资料后,终于有了解决方案。只需要创建用户时加上-m深圳大学学生实验报告用纸(userad
25、d -m Yanglibin_2014040329,问题就得到了解决。加上-m之后,系统会 在/home目录下建立一下新的用户,就是刚刚创建的用户,这样就可以使用该用 户进入系统了。遇到的第二个问题是gdb调试。当我设置完断点之后,执行run操作的时候, 系统弹出如下提示。(gdb) rstarting proqra*): /hoMe/Yangltblii_2ei404B39/gdtdebug/reverseiCannot exec -c exec /hore/Vanglibin_2G 1400329/gdbdebug/reverse!,Error: No such rile or direc
26、toryDuring startup pragratt exitec wtth code 127,(gdb) I绝对不可能是文件不存在的问题,因为我在 gdbdebug文件下通过ls可以看 到reverse1这个文件,后来翻遍了网上的资料,终于知道了原因。and build 值irflhi cornrrsiidl g;ce 啕 lesce *o wstM. Chen I geC result I帕 narrsed test Nest step run gdb lo debug Notice that current accouri 唇 user ol iruy oatiS*db tut(专心)1*11(ig-db) b 6 /yhfxk wllgdsj f /e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年仓储租赁协议(新版)
- 2024年个体餐馆与厨师工作合同
- 2024年工厂建设土方分包工程合同
- 2024年二手住宅交易合同
- 2024年工程勘察分包商合同
- 2024年工程绩效奖金协议
- 2024年墙面刷新服务合同
- 2024年个人之间借款合同
- 2024年大数据应用与共享合同
- (2024版)城市轨道交通建设与运营管理合作协议
- 各种能源排放因子
- 基础生命科学导论:第七章-进化课件
- 鼻腔冲洗专业知识讲座课件
- 高压氧质量控制中心工作职责
- 一年级《劳动实践指导手册》《学习用品我整理》教案
- 小学数学北师大三年级上册整理与复习新北师大版三年级上册数学《整理和复习》
- NCCN癌痛指南更新解读专家讲座
- 大学英语口语课件
- 二维动画课件
- 国开电大软件工程形考作业3参考答案
- 广东食品安全管理人员抽查考核题库(含答案)
评论
0/150
提交评论