1.版本控制器Git
- 我们在编写各种⽂档时,为了防⽌⽂档丢失,更改 失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如: "报告-v1"、 "报告-v2"
- 每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤。但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越 多,⽂件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各⾃都是修改了什么吗?
- ⽂档如此,我们写的项⽬代码,也是存在这个问题的!!
1.1版本控制器
- 为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你 了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和 版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。
- ⽬前最主流的版本控制器就是Git。Git可以控制电脑上所有格式的⽂件,例如doc、excel、dwg、 dgn、rvt等等。对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件!
1.2安装git
yum install git
1.3git相关命令
- git clone 仓库的http链接:下载项⽬到本地
- git add ./*/文件名:将代码放到刚才下载好的⽬录中
- git commit -m ".....":提交改动到本地,-m表示添加日志信息
- git push:同步到远端服务器上
- git pull:将本地仓库与远端仓库同步(不会改变本地仓库代码)
- git status:查看暂存区内文件
- git log:查看Git提交历史
1.4克隆仓库文件组成

- .git:Git仓库的核心目录,相当于Git的"数据库"(包括提交历史、分支、标签、远程仓库地址、配置等)
- .gitee:Gitee 平台识别的专属配置目录,用于存放和 Gitee 平台功能相关的配置文件,这些配置只会作用于当前仓库在 Gitee 上的展示或行为,和 Git 版本控制本身(.git)没有任何关系。
- 简单来说:.git 管 "版本控制",.gitee 管 "Gitee 平台的个性化配置"。
- .gitignore:需要忽略的特定后缀的文件列表。如果.txt、.sh等,因为git版本管理,只进行管理源文件。
- README.md:说明书
- README.en.md:英文说明书
2.调试器-gdb/cgdb使⽤
- 程序的发布⽅式有两种, debug 模式和 release 模式, Linux gcc/g++ 出来的⼆进制程序,默认是 release 模式,无法进行调试。
- 要使⽤gdb调试,必须在源代码⽣成⼆进制程序的时候,加上 -g 选项,如果没有添加,程序⽆法被编译
- 推荐的调试器有gdb和cgdb,cgdb上半部分显示代码,下半部分显示gdb调试信息。
2.1cgdb的安装
sudo yum install -y cgdb
2.2cgdb常见使用
- 开始: gdb binFile
- 退出: ctrl + d 或 quit 调试命令
- continue/c:相当于F5,一直执行,直到结束或者遇到断点
- finish:将当前函数执行完
- display:跟踪打印指定变量的值,相当于监视窗口
- info local:打印当前函数内所有变量
- set var:不改变实际代码内容
- backtrace/bt:查看当前函数栈帧内正在调用的所有函数

Enb是标记断点的使能情况,比如断点被禁用就是n

2.3cgdb的三个特殊指令
- watch 变量:执⾏时监视⼀个表达式(如变量)的值。如果监视的表达式在程序运⾏期间的值发⽣变化,GDB会暂停程序的执⾏,并通知使⽤者
- set var 变量=...:改变指定变量的值。用于确定问题原因,更改⼀下标志位,假设我们想得到 +-result
- 条件断点:break/b 行号 if 条件(给断点添加条件,满足条件时触发断点)

