资讯专栏INFORMATION COLUMN

【Linux】linux环境基础开发工具使用

dongfangyiyu / 2391人阅读

摘要:函数名列出某个函数的源代码,含函数名上下各五行类比调试或从开始连续而非单步执行程序遇到断点停下。相当于中的或单条执行。

目录

一、调试器gdb

1、可以使用gdb的可执行文件生成

2、使用命令

1、开始调试和退出调试

2、list

3、类比vs调试

4、代码调试“三剑客”

5、变量

6、断点

二、Linux项目自动化构建工具make/Makefile

1、make和Makefile分别是什么?

2、依赖关系和依赖方法

3、生成方案和清理方案

4、特殊符号

三、git

1、安装git

2、远端创建仓库

3、git“三板斧”上传代码到仓库


一、调试器gdb

1、可以使用gdb的可执行文件生成

Linux默认的生成的可执行程序是release版本,需要加-g生成debug版本

release版本是发布版本,不支持调试

例: gcc test.c -o mytest-debug -g   生成debug可执行文件

2、使用命令

1、开始调试和退出调试

进入调试:gdb 文件名推出:ctrl+d  /  quit(q)

2、list

·list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。

·list/l 函数名:列出某个函数的源代码,含函数名上下各五行

3、类比vs调试

·r或run:从开始连续而非单步执行程序遇到断点停下。(相当于vs中的 F5)

n 或 next:单条执行。(相当于vs中的F10)
·s或step:进入函数调用(相当于vs中的F11)
·break(b) 行号:在某一行设置断点(相当于vs中的F9)

4、代码调试“三剑客”

continue (c):从当前位置开始连续执行,而非单步执行

until x:跳转到x行

finish:执行到当前函数反回,等待下一条命令

5、变量

·print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数

·p 变量:打印变量值。

·set var:修改变量的值

·display 变量名:跟踪查看一个变量,每次停下来都显示它的值

·undisplay:取消对先前设置的那些变量的跟踪

·info(i) locals:查看当前栈帧局部变量的值

6、断点

·break 函数名:在某个函数开头设置断点
·info break(b) :查看断点信息。

·delete breakpoints:删除所有断点
·delete breakpoints n:删除序号为n的断点
·disable breakpoints:禁用断点
·enable breakpoints:启用断点



二、Linux项目自动化构建工具make/Makefile

1、make和Makefile分别是什么?

Makefile是一个可写的自动化编译文件

make是解释执行Makefile里的命令工具

默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件, 找到了解释这个文件

2、依赖关系和依赖方法

例如:需要mytest.c编译为可执行文件mytest

//mytest依赖mytest.c,这个叫依赖关系//mytest.c就叫依赖文件,mytest叫生成文件mytest:mytest.c	gcc mytest.c -o mytest

3、生成方案和清理方案

//第一行写依赖关系,第二行写执行规则//特别注意:第一行顶格,第二行以tab键开头生成方案:mytest:mytest.c	gcc mytest.c -o mytest清理方案://.PHONY是设置为伪目标,伪目标的特性是,总是被执行的。.PHONY:clearclear:	rm -f mytest

 使用方法如下:

4、特殊符号

$@:也可代表生成文件

$^:表示依赖文件

生成方案:mytest:mytest.c	gcc mytest.c -o mytest//上述也可写为生成方案:mytest:mytest.c	gcc $^ -o $@

三、git

1、安装git

sudo yum install git

2、远端创建仓库

1、注册gitee账号后,进入页面根据下图建仓库

2、命名仓库,并简单设置属性

3、复制https地址

4、下载项目到本地

git clone [url]

url为第三步刚复制的地址

3、git“三板斧”上传代码到仓库

1、git add .   //.表示当前目录,也可以上传指定文件  (git add 文件名)2、git commit -m "上传的代码的日志信息"3、git push   //push所有的本地项目需要输入gitee的登录账户和密码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125023.html

相关文章

  • Linux 挖坑不埋指南

    摘要:在的世界里,中文并不是必须的,英文是必须的,但是只要你愿意,还是有办法让支持中文的显示与输入的,而且搞定这个问题,意味着你对的认识程度已经超过了很多其他发行版的用户。 跳进 Linux 的唯一理由 既然知道 Linux 在这个世界已经存在了,而你又是个挺喜欢摆弄计算机的人,那么对 Linux 是怎样的一种存在难道不感到好奇么? 也许在你开始尝试使用 Linux 时,已经看到了很多对 L...

    李涛 评论0 收藏0
  • Linux 挖坑不埋指南

    摘要:在的世界里,中文并不是必须的,英文是必须的,但是只要你愿意,还是有办法让支持中文的显示与输入的,而且搞定这个问题,意味着你对的认识程度已经超过了很多其他发行版的用户。 跳进 Linux 的唯一理由 既然知道 Linux 在这个世界已经存在了,而你又是个挺喜欢摆弄计算机的人,那么对 Linux 是怎样的一种存在难道不感到好奇么? 也许在你开始尝试使用 Linux 时,已经看到了很多对 L...

    luzhuqun 评论0 收藏0
  • Linux环境基础开发工具使用

    摘要:环境基础开发工具使用软件包管理器的三板斧查看软件包安装软件卸载软件和互传文件的三种模式的转换命令模式插入模式底行模式编译器使用函数库调试器使用项目自动化构建工具软件包管理器软件包和软件包管理器就好比手机上的和应用 ...

    Dean 评论0 收藏0
  • 技术选型之Docker容器引擎

    摘要:是系统提供的容器化技术,简称,它结合和技术为用户提供了更易用的接口来实现容器化。公司结合和以下列出的技术实现了容器引擎,相比于,具备更加全面的资源控制能力,是一种应用级别的容器引擎。 showImg(https://segmentfault.com/img/bVbtPbG?w=749&h=192); 题外话   最近对Docker和Kubernetes进行了一番学习,前两天做了一次技术...

    xiangchaobin 评论0 收藏0
  • 技术选型之Docker容器引擎

    摘要:是系统提供的容器化技术,简称,它结合和技术为用户提供了更易用的接口来实现容器化。公司结合和以下列出的技术实现了容器引擎,相比于,具备更加全面的资源控制能力,是一种应用级别的容器引擎。 showImg(https://segmentfault.com/img/bVbtPbG?w=749&h=192); 题外话   最近对Docker和Kubernetes进行了一番学习,前两天做了一次技术...

    monw3c 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<