使用vim进行简单程序编辑

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

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

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

相关文章:

  • 2022-12-23
  • 2021-08-23
猜你喜欢
  • 2021-10-27
  • 2022-12-23
  • 2021-10-30
  • 2021-05-09
  • 2021-12-22
  • 2021-05-06
相关资源
相似解决方案