【Linux】make/makefie,gdb的使用

本文介绍了makefile在自动化构建中的关键作用,包括依赖关系和伪目标的使用,以及如何配合make和makeclean。同时,详细讲解了gdb作为Linux环境下的调试工具,包括如何设置debug模式,以及常用的gdb命令。
摘要由CSDN通过智能技术生成

上一章节我们介绍了gcc/g++的使用,也对动静态库有了一个初步的了解。这让我们对程序运行的过程有了更加深刻的了解,接下来我们就要讲一讲make/makefile的使用,以及gdb的使用。

一.自动化构建代码。

谈到自动化构建代码,我们就不得不谈到makefile的使用了。

首先是makefile,它是一个特殊的文本文件,相当于一个脚本,可以控制一个项目的执行顺序。在执行一些大项目的时候,我们需要控制一些程序的执行顺序,这个时候我们就需要用到makefile。跟makefile配对使用指令则是make与make clean。

我们先来看makefile内部:

这个是我在makefile里写的指令,我们逐步进行分析。

mytest:test.c这一行指的是依赖关系,下面一行gcc test.c -o mytest则是依赖方法。依赖关系中的左边是右边通过依赖方法得到的,这个就是依赖关系中两个参数的关系。

.PHONY指的是伪目标,后面跟的clean并不是一个文件,只是单纯的要通过这个指令来执行一些命令,如图中就是要执行rm -f mytest的指令。

具体用法如下:

二.gdb的使用

首先我们要明白,gdb是在linux环境下调试代码的工具,既然是调试,那必定涉及到debug和release,平时我们在linux环境下通过gcc编译链接后的代码都是release版本的,而release是不可被调试的,所以我们得通过gcc -g来使程序处于debug的模式下,我们才可以正常使用gdb。

下面我们就来介绍gdb的用法:

gdb+要调试的文件:将该可执行文件进入调试模式。

进入之后才能执行以下操作:

r:开始调试。

enable,disable:启用,禁用断点。

b line:在第line行打断点。

s:逐语句。

n:逐过程。

p+变量:查变量。

dispaly+变量:长显示。

undisplay+序号:去长显示。

until+line:直接调试到line。

finish:运行完当前函数。

continue:从一个断点运行到下一个断点。

bt:调用堆栈。

set var i=?:更改变量的值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值