【Linux】git和gdb

下面还有两个Linux中会用到的工具,一个是给git,可以叫版本控制器,就是对我们写的代码进行版本控制

一个是gdb,就是我们C语言/C++的代码调试工具

下面我们分别来介绍一下

git

git和Linux一样,也是一个开源项目,就是当初Linux的创始人林纳斯·托瓦兹创建的。git是一个开源的工具,那么他和gitee和github之间有什么关系呢?其实gitee和github只是一个网站,这个网站的底层用的还是给git,它不过是把底层git的信息显示到网站上,来满足人们的需求

那我们如何在gitee或github上建立远端仓库并且跟本地的仓库联系起来呢?我们以gitee为例

我们先在gitee网站上新建仓库

点击克隆

找到https的链接复制下来,然后到我们的Linux中输入

这样就把我们的远端仓库克隆到本地了,第一次克隆需要输入用户名邮箱的信息,在命令行中输入这个就行

下面是我们如何提交本地git和同步到远端git

我们克隆远端仓库到本地后本地就多了一个文件夹

我们要提交到本地git要首先把文件拷贝进这个文件夹

之后我们进入linuxcode这个文件夹,可以看到我们拷贝进来的文件

之后输入下面的指令

这样就提交到本地git了,如果像同步到远端,要进行git push命令

之后它会要求我们输入gitee的邮箱和密码,输完之后我们的远端git就更新了 

上面是我们简单的一些操作,就负责提交本地和远端,下面还有几个命令帮助我们更好的学习git

git log可以查看历史提交记录

用了这个命令,那么你之前所有的提交信息都会显示出来

git status 看看还有没有什么文件可以提交的,查看状态

我们可以直接在linuxcode这个目录下删除我们拷贝进来的文件,因为删除操作也属于一种修改,所以删除后也可以commit和push

git pull 当我们多人合作时,每个人都会提交代码到远端,当远端的代码比我们本地的代码版本要新时,我们就必须先更新我们本地git的代码,就是pull拉取到本地,之后再push推送到远端

我们其实可以看到linuxcode这个目录下还有一些隐藏文件

其中.git这个文件中存放的就是我们的修改信息

.gitignore这个文件中放的是一些后缀,表示有这些后缀的文件就不要提交了,并且在我们改这个文件后,它也是即时生效的

gdb

下面我们说一下gdb,它是一个调试代码的工具,我们知道发布软件有两种方式,一种叫debug一种叫release,只有在debug版本下才可以调试,gcc默认是生成release版本,所以我们在gcc命令下要加一个-g来表示要生成debug版本,就像这样

debug版本下可以调试就是因为这个版本下的可执行程序加了调试信息,它占的空间也是比较大的,我们也可以对比一下

我们也可以通过下面的指令看到多的内容

上面是一些基本的知识,下面是gdb的一些常用的指令用于我们的调试

第一个是进入调试,quit是退出调试

l + 行号是显示指定行附近的代码

b是breakpoint,意思是打断点

比如

b 10在第十行打断点

b Sum在这个Sum函数的第一行打断点

b add.c:7指定文件和行号打断点

info b查看所有打过的断点

我们在打完断点后用info b可以看到

最前边一行就是每个断点的编号,我们如果想删除断点也需要通过编号来删除

d就是delete

d 2就是删除第二个断点

r就是run,直接执行完程序

enable/disable+断点编号  就是开启关闭断点

n是我们的逐过程调试,就是VS中的F10,不进入函数

s是逐语句调试,就是F11,进入函数

p+变量或地址 可以显示具体的内容

display +变量或地址可以常显示,这个也是有编号的

undisplay+编号可以去常显示

c可以使程序从上一个断点直接到下一个断点

bt可以查看调用堆栈

finish 是将一个函数运行结束就停下来

until+行号 是在某一范围内直接运行到指定行

set var可以修改一个变量的内容,比如:

我们这个指令的用处一般是给条件语句用的,一般不会执行到的条件语句我们可以赋值来执行到那,来判断我们的代码是否有误

相关推荐

  1. gdb print,gdb xgdb display的使用

    2024-04-29 23:34:06       51 阅读
  2. gccgdb

    2024-04-29 23:34:06       13 阅读
  3. 【<span style='color:red;'>GDB</span>】

    GDB

    2024-04-29 23:34:06      25 阅读
  4. <span style='color:red;'>gdb</span>使用

    gdb使用

    2024-04-29 23:34:06      41 阅读
  5. Linux——gdb

    2024-04-29 23:34:06       16 阅读

最近更新

  1. LlamaInde相关学习

    2024-04-29 23:34:06       0 阅读
  2. LeetCode每日一题 分发糖果

    2024-04-29 23:34:06       0 阅读
  3. 刷算法Leetcode---9(二叉树篇Ⅲ)

    2024-04-29 23:34:06       0 阅读
  4. 【GC 死亡对象判断】

    2024-04-29 23:34:06       0 阅读
  5. [ABC275A] Find Takahashi 题解

    2024-04-29 23:34:06       0 阅读
  6. 洛谷 P2141 [NOIP2014 普及组] 珠心算测验

    2024-04-29 23:34:06       0 阅读
  7. 微软edge浏览器全解析

    2024-04-29 23:34:06       0 阅读

热门阅读

  1. 监听el-table滚动

    2024-04-29 23:34:06       13 阅读
  2. android博客

    2024-04-29 23:34:06       13 阅读
  3. Linux 上清理 SSSD Cache

    2024-04-29 23:34:06       15 阅读
  4. 软件著作权设计说明书(SDS)撰写指南

    2024-04-29 23:34:06       14 阅读
  5. 阿里云CentOS7 打开/关闭防火墙 开放端口

    2024-04-29 23:34:06       14 阅读
  6. 采购管理软件:如何高效跟踪采购订单?

    2024-04-29 23:34:06       13 阅读
  7. 三大语音机器人:如何提升销售效率

    2024-04-29 23:34:06       15 阅读
  8. windows ubuntu:sed,awk,grep篇:4.执行 sed

    2024-04-29 23:34:06       14 阅读
  9. 机器人技术概述_3.机器人的分类

    2024-04-29 23:34:06       11 阅读