天天看点

【Linux】gcc 编译器 及gdb 调试器

Linux 下三种工具的默认方式

vim 编辑器的默认打开模式:命令模式

gcc/g++ 编译器的默认链接方式:动态链接

gdb 调试器的默认版本:release 版本

在前面的博客中,我讲到了vim编辑器 的使用,这里我主要讲一下gcc 编译器和 gdb 编辑器

1. gcc编译过程

  1. 预处理(主要进行宏替换)
  2. 编译(用于生成汇编)
  3. 汇编(生成机器码)
  4. 链接(生成可执行文件)
    【Linux】gcc 编译器 及gdb 调试器

2. gcc 编译器的使用方法

-0 后面只能跟可执行程序(生成的对象)

gcc -0 main main.c 或者 gcc main.c -o main

无论上面哪种写法,main 都是可执行程序的文件名

搭配操作:

-static : 对生成的文件采用静态链接

ldd : 输出当前程序所依赖的库

file + 可执行文件 :查看当前文件的状态

在后面我们会用 make/Makefile 实现自动编译过程。下篇博客中讲。

3. gdb 调试器版本介绍

debug 版本:开发版,添加了调试信息,所以允许调试

release 版本:发布版,不可以被调试

4. gdb 调试器的使用

加 -g 选项可将程序修改为可调试的debug 版本

gdb 文件名 可进行调试程序

gcc main.c -o main.debug -g

gdb main.debug

搭配操作:

r/run : 运行程序

n/next : 单条执行

s/step : 进入函数调用

b/break : 设置断点 ( -n 行号为n -函数名)

c/continue :直接跳至下个断点 / 结束

info b : 查看断点信息

delete b : 删除断点 (-n 序号为n)

print§ :打印变量p的值

display p :跟踪查看变量p的变化

undisplay n:取消跟踪第n个变量

until n :跳至第n行

finish : 函数直接运行结束

多多支持博主哈~