实验二Linux下C语言开发环境及程序调试.doc

实验二Linux下C语言开发环境及程序调试.doc

ID:59206042

大小:15.50 KB

页数:2页

时间:2020-09-10

实验二Linux下C语言开发环境及程序调试.doc_第1页
实验二Linux下C语言开发环境及程序调试.doc_第2页
资源描述:

《实验二Linux下C语言开发环境及程序调试.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二Linux下C语言开发环境及程序调试一、实验目的1、熟悉Linux下的C语言程序编译流程。2、掌握vi、gcc、gdb的使用。二、实验设备硬件:PC机。软件:VMwareWorkstation虚拟机、Linux操作系统。三、实验预习要求1、gcc编译过程及常用编译选项。2、gdb调试器使用流程,查看文件、设置断点、单步运行等gdb基本命令的使用。四、实验内容及步骤1、Linux下C语言开发流程及GCC编译器的使用。(1)启动虚拟机,进入Linux操作系统,然后启动终端。(2)使用Vim编辑源程序,练习命令模式、编辑模式、底行模式之

2、间的切换,在终端中输入vihello.c,编辑完成后存盘。(注:代码自己编写)(3)练习以下编译选项的使用:gcc-Ehello.c-ohello.igcc-Shello.i-ohello.Sgcc-chello.S-ohello.o//目标文件gcchello.o-ohello//可执行文件(4)运行程序,在终端中查看程序运行结果。2、GDB调试器的使用。使用Vim编辑源程序,在终端中输入vitest.c,输入如下源代码,编辑完成后存盘。此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中

3、存在的问题。程序源代码如下:#includeintdisplay1(char*string)intdisplay2(char*string1)intmain(){      charstring[]="EmbeddedLinux";      display1(string);      display2(string);}intdisplay1(char*string){printf("Theoriginalstringis%s",string);}intdisplay2(char*string1){      

4、char*string2;      intsize,i;      size=strlen(string1);      string2=(char*)malloc(size+1);      for(i=0;i<=size;i++)              string2[size-i]=string1[i];      string2[size+1]='';      printf("Thestringafterwardis%s",string2);}(1)用Gcc编译:gcc-ggreet.c-ogreet。(2)运行gr

5、eet:./greet,查看输出结果是否正确。 (3)启动Gdb调试:gdbgreet查看源代码:l在30行(for循环处)设置断点:b30在33行(printf函数处)设置断点:b33。查看断点设置情况:infob运行代码:r单步运行代码:n查看暂停点变量值:pstring2[size-i]继续单步运行代码数次,并使用命令查看,发现string2[size-1]的值正确继续程序的运行:c程序在printf前停止运行,此时依次查看string2[0]、string2[1]…,找到程序运行结果不正确的原因。退出Gdb:q将程序修改正确并使

6、用Gcc重新编译,查看运行结果:./greet 五、可选题编程实现输入任意2个小于100的正整数a和b,然后输出100以内能同时整除a和b的所有数,并使用gcc和gdb编译和调试。六、实验报告要求认真记录调试过程和所有调试的程序代码。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。