【计算机系统(2)】1 环境配置与使用

概览

Linux上C程序的编译和调试工具,包括以下内容:

1. Linux操作系统及其常用命令

2. 编译工具gcc的基本用法

3. 使用gdb进行程序调试

环境与工件

1.个人电脑

2. ubuntui

3. gcc

4. gdb

创建用户:

  • 首先切换为超级用户
$sudo su

如果出现Authentication failure的情况,则可以用`sudo passwd root`来给root重设密码:

  • 参考以下命令创建新用户, 设置新建用户的密码,注意:只有设置了密码才能激活用户,否则无法以该用户身份登录
#adduser   ***

  • 注销当前用户,并以新建的用户身份登录,登录后运行 $ whoami,并进行截图;

新建用户主目录下创建子目录:

gdbdebug, 并进入gdbdebug 子目录。将过程和结果截图。(10分)

使用vi编辑以下两个文件并编译和运行,截图(30分)

创建空文件

$ touch reverse.h  
$ touch reverse.c  

  • 编辑reverse.h

用vi进入编辑reverse.h

$ vi reverse.h

进入vi编辑后,按i输入文本

输入:wq存盘退出

查阅文件,保存成功

  • 编辑reverse.c

  • 编译

按以下步骤编译,如有警告信息,请修改代码至无警告信息

 $gcc –Wall reverse.c –o reverse

(编辑时已提前改掉scanf处和*(str+len-i-i)2处错误)

少<string.h>头文件

修改

函数缺少返回值

给函数添加返回值

编译成功

  • 运行程序

 $./reverse

运行结果错误,代码有误

调试

按照以下过程调试并修正reverse.c,请参考过程截图。(30分)

  • 编译时加入调试信息

$gcc -g reverse.c -o reverse1

gdb

  • 启用GDB调试

  • 键入list

    • 查看源代码并根据行号/函数名设置断点(断点位置仅供参不需雷同)

  • 观察变量值

并作分析,推测错误(在3.4已经自行修改过错误,所以此时运行结果正确)

  • 修正程序并运行

修改代码

重新编译运行成功

结果

    成功创建实验目录,并在目录中创建并用vi编辑工具成功编写reverse.h reverse.c两个代码文件。并利用gcc和gbd工具编译调试,最后成功正常运行reverse程序。

总结与体会

    通过该实验,我学习熟悉了linux操作系统的基本操作,并学会利用vi编辑工具编写文件,用gcc和gbd编译调试文件,学会了如何在linux系统编译调试运行C语言程序。

猜你喜欢

转载自blog.csdn.net/weixin_51695846/article/details/125353488