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

目录

一、调试器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:clear
clear:
	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的登录账户和密码

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>