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