实验二Linux下C语言开发环境及程序调试(1)
更新时间:2024-01-21 06:24:01 阅读量: 教育文库 文档下载
- 实验二linux文件目录推荐度:
- 相关推荐
实验二Linux下C语言开发环境及程序调试
一、实验目的
1、熟悉Linux下的C语言程序编译流程。 2、掌握vi、gcc、gdb的使用。 二、实验设备
硬件:PC机。
软件:VMware Workstation虚拟机、Linux操作系统。 三、实验预习要求
1、gcc编译过程及常用编译选项。
2、gdb调试器使用流程,查看文件、设置断点、单步运行等gdb基本命令的使用。
四、实验内容及步骤
1、Linux下C语言开发流程及GCC编译器的使用。 (1)启动虚拟机,进入Linux操作系统,然后启动终端。
(2)使用Vim编辑源程序,练习命令模式、编辑模式、底行模式之间的切换,在终端中输入vi hello.c,编辑完成后存盘。(注:代码自己编写)
(3)练习以下编译选项的使用: gcc -E hello.c -o hello.i gcc -S hello.i -o hello.S
gcc -c hello.S -o hello.o //目标文件 gcc hello.o -o hello //可执行文件 (4)运行程序,在终端中查看程序运行结果。 2、GDB调试器的使用。
使用Vim编辑源程序,在终端中输入vi test.c,输入如下源代码,编辑完成后存盘。此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题。程序源代码如下:
#include
char string[] = \ display1 (string); display2 (string); }
int display1 (char *string)
{ printf (\}
int display2 (char *string1) {
char *string2; int size,i;
size = strlen (string1);
string2 = (char *) malloc (size + 1); for (i = 0; i <= size; i++) string2[size - i] = string1[i]; string2[size+1] = ' ';
printf(\}
(1)用Gcc编译:gcc -g greet.c -o greet。
(2)运行greet:./greet,查看输出结果是否正确。 (3)启动Gdb调试:gdb greet 查看源代码:l
在30行(for循环处)设置断点:b 30 在33行(printf函数处)设置断点:b 33。 查看断点设置情况:info b 运行代码:r 单步运行代码:n
查看暂停点变量值:p string2[size - i]
继续单步运行代码数次,并使用命令查看,发现string2[size-1]的值正确 继续程序的运行:c
程序在printf前停止运行,此时依次查看string2[0]、string2[1]…,找到程序运行结果不正确的原因。
退出Gdb:q
将程序修改正确并使用Gcc重新编译,查看运行结果:./greet 五、可选题
编程实现输入任意2个小于100的正整数a和b,然后输出100以内能同时整除a和b的所有数,并使用gcc和gdb编译和调试。 六、实验报告要求
认真记录调试过程和所有调试的程序代码。
正在阅读:
2011年度孕产妇保健工作报表分析06-09
小学数学实验教学一般步骤05-23
(江苏专用)高中化学专题2第二单元3第3课时化学平衡常数练习(含解04-26
人教版高中生物必修3《稳态与环境》第4章 种群和群落练习题05-03
我国经济性质的开题报告范文02-22
阅读苏轼的《喜雨亭记》及答案05-23
精心整理高三生物二轮复习 专题九 第2讲 生物技术在其他方面的应04-16
市级骨干教师培训跟岗研修日志203-09
爱护鸟类作文400字07-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 调试
- 语言
- 实验
- 环境
- 程序
- 开发
- Linux