深入理解操作系统——vim程序编辑&gdb程序调试

使用vim进行简单程序编辑

1.可以使用ls指令先进行查看当前目录下的文件,标注蓝色字体的是文件夹,任选一个作为我们文件的放置地点:
在这里插入图片描述
2.由cd 音乐进入一个文件夹(此处选择音乐文件夹,其实任选一个即可,之后在该文件夹中创建程序,注意由于我已经使用的是Ubuntukylin系统,并已经设置了中文,所以文件名是中文,可以在systems setting里面进行更改,这里不再赘述修改方法):
在这里插入图片描述
3.在Music文件夹中,输入vim + 程序名.c进行编辑,这里我们做一个简单的输出hello world的程序,s输入vim code.c:
在这里插入图片描述
4.在vim中,分命令模式和输入模式,按i键进入输入模式,我们输入代码后,按esc键退出到命令模式,输入:wq进行保存并退出,如果程序处于只读状态,我们输入:wq!强制保存并退出:
在这里插入图片描述
5.下面生成-o文件有两种方式,一种最常用的是gcc 文件名.c,之后默认生成a.out文件,输出时要键入./a.out,如下图所示:
在这里插入图片描述
6.另一种是gcc -g 文件名.c -o 文件名,这种方式形成的文件自定义了输出文件的名字,比如gcc -g code.c -o code,输出时输入./code即可:
在这里插入图片描述
7.在相应的Music文件夹中可以找到源文件:
在这里插入图片描述

使用常用gdb命令对程序进行调试,调试过程如下:

1.启动gdb
2.打开文件,导入调试环境(即先写上一句gcc -g 文件名 -o 无后缀),使用gdb 文件名即可,如gdb code:
在这里插入图片描述
3.(gdb) l为查看源代码指令,并且l后面加上行数可以指定输出到某一行,否则每10行一个输出:
在这里插入图片描述
4.(gdb) b 行数 该语句对当前行数设置断点,程序运行时运行到该行停止,并输入下面将要执行一行信息:
在这里插入图片描述
5.(gdb) r 程序从main运行,并运行到指定断点结束:
在这里插入图片描述
6.(gdb) p 变量名,输出当前要查找变量名信息:
在这里插入图片描述
这里由于没有a变量,显示不存在。
7.(gdb) c,继续执行程序,直到下一个断点:
在这里插入图片描述
8.执行程序之后我们还可以简单查看当前寄存器的值,(gdb) i r就实现了这个功能,如果后面加上寄存器,还可以查看寄存器的值:
在这里插入图片描述
注意只有在程序运行中才可以查看寄存器的值,在程序结束后寄存器的值清零,将不显示。
9.最后,利用display /ni $pc可以查看整个程序反汇编语言,其中n为行数,如果n不键入,输入之后重新运行程序,可以对每一行输出其反汇编语言:
在这里插入图片描述

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值