Linux--常用工具(2)--gdb调试器--make/Makefile

Linux常用工具(2)

gdb调试器

gdb调试器是用来检查代码错误的东西,当出现错误的时候我们就可以用调试器高效的找出代码的错误.
错误分类: 编译错误 .链接错误.运行时错误.
前提: 程序要进行调试,必须是一个debug版本的,又因为gcc和g++默认生成的是release版本的,所以我们就需要运用g进行转换,然后才能进行编译.

gcc -g test.c -o test			//将其变成debug版本,方便进行调试

gdb ./test.exe					//常用调试指令
流程控制

流程控制:下面是一些命令符的操作,一定要熟练掌握:(加粗为简写,斜体举例)

具体功能操作符
直接运行程序r run
开始逐步调试start
查看调试行附近的代码 list test.c :12l list
下一步 逐过程 遇到函数运行完毕n next
下一步 逐语句 遇到函数进入调试s step
直接运行到指定位置 until test.c:16until
从当前位置运行c continue
打断点 break test.c:14b break
查看断点ib info break
删除断点 delete idd delete
变量监控断点 变量发生变化就停下来 watch variable_namewatch
退出gdb调试q quit
内存控制

同上:

具体功能操作符
查看或设置变量内容 print var_namep print
查看函数调用栈bt backtrace

make/Makefile

对于这个板块主要是要理解之间的关系,多看看就好啦!如图:
在这里插入图片描述
在这里插入图片描述
预定义变量使用:

对象对应符号
目标对象$@
所有依赖对象$^
表示依赖对象的第一个$<

伪对象: 声明一个目标对象与外部文件无关,可以一直重新生成. eg: .PHONY:
make的解释执行规则:
1.在命令行中敲击make,程序会自动在目录下找到makefile/Makefile的文件,对内部进行构建规则.
2.在规则中,找到要生成的地一个目标对象
3.make每次只会找Makefile中的第一个对象.进行解释完后就会退出,(你如果需要执行多个语句的话,那你就需要把最终生成的语句写在最前面,这样执行第一个语句的时候,遇到内部如果有其他的对象就会去被动调用这些函数,就可以执行多个对象了)
4.make在生成目标对象的时候,先找到依赖对象的生成规则,先生成依赖对象,然后再去生成目标对象.
下面我对这一流程进行一个简单的操作,方便大家理解:
在这里插入图片描述
在这里插入图片描述
这两句比较简单,我就不多解释了,明天继续加油!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值