gcc
- gcc工作流程
1. 预处理 gcc -E
2. 编译 gcc -S
3. 汇编 gcc -c
4. 链接 没参数
-o: 指定生成的文件的名字
-D: 在编译的时候定义宏(控制log的输出)
-I: 指定头文件的路径
-g: gdb调试的时候需要添加该参数
-O: 编译优化, 3个等级 -O(1-3)
-Wall: 编译期间输出警告信息
gdb
- gdb调试:
- 启动gdb
start – 只执行一步
n – next
s – step(单步) – 可以进入到函数体内部
c - continue – 直接停在断点的位置
2. 查看代码:
l – list
l 10(函数名)
l filename:行号(函数名)
3. 设置断点:
设置当前文件断点:
b – break
b 10(函数名)
b fileName:行号(函数名)
设置条件断点:
b 10 if value==19
删除断点:
delete – del - d
d 断点的编号
获取编号: info – i
info b
4. 查看设置的断点
5. 开始 执行gdb调试
执行一步操作:
继续执行:
执行多步, 直接停在断点处:
5. 单步调试
进入函数体内部: s
从函数体内部跳出: finish
不进入函数体内部:
n
退出当前循环: u
6. 查看变量的值: p – print
7. 查看变量的类型: ptype 变量名
8. 设置变量的值: set var 变量名 = 赋值
9. 设置追踪变量
display
取消追踪变量
undisplay 编号
获取编号: info display
10. 退出gdb调试
quit