大 学 实 验 报 告
课 程 名 称: 计算机系统(2)
实验项目名称: 实验环境配置与使用
学 院: 计算机与软件学院
专 业: 计算机与软件学院所有专业
指 导 教 师:
报告人: 学号: 班级:
实 验 时 间:
实验报告提交时间:
教务处制
一、 实验目标:
熟悉Linux上C程序的编译和调试工具,包括以下内容: 1. 了解Linux操作系统及其常用命令 2. 掌握编译工具gcc的基本用法 3. 掌握使用gdb进行程序调试
二、实验环境与工件 1.个人电脑
2. Fedora 13 Linux 操作系统 3. gcc 4. gdb
三、实验内容与步骤
1. 根据实验一:实验环境配置与使用.ppt熟悉Linux基本操作(P.1 – P.28),然后根据以下过程创建用户:用户名为学生名称加学号,如吴坤汉,学号2015170297,则该用户名为wukunhan_2015170297。按照1.1~1.3完成并截图,截图需要有运行的命令及其结果。另外:后面的题目必须在该新建用户下完成。(30分) 实验步骤:
1.1. 首先切换为超级用户
$su
如果出现Authentication failure的情况,则可以用`sudo passwd root`来给root重设密码:
1.2. 参考以下命令创建新用户, 设置新建用户的密码,注意:只有设置了密码才能激活
用户,否则无法以该用户身份登录 #adduser wukunhan_2015170297
深圳大学学生实验报告用纸
1.3. 注销当前用户,并以新建的用户身份登录,登录后运行 $ whoami,并进行截图;
2. 新建用户主目录下创建子目录:gdbdebug, 并进入gdbdebug 子目录。将过程和结果截
图。(10分)
3. 使用vi编辑以下两个文件并编译和运行,截图(30分) 3.1. 编辑reverse.h
3.2. 编辑reverse.c
深圳大学学生实验报告用纸
3.3. 按以下步骤编译,如有警告信息,请修改代码至无警告信息 $gcc –Wall reverse.c –o reverse 3.4. 运行程序 $./reverse
4. 按照以下过程调试并修正reverse.c,请参考过程截图。(30分) 4.1. 编译时加入调试信息
$gcc -g reverse.c -o reverse1 4.2. 启用GDB调试
4.3. 键入list,查看源代码并根据行号/函数名设置断点(断点位置仅供参考,不需雷同)
深圳大学学生实验报告用纸
4.4.
观察变量值,并作分析,推测错误(过程仅供参考,不需雷同)
深圳大学学生实验报告用纸