Linux-5 git和gdb

1.git的认识

1.git的安装

普通用户下:

sudo yum install -y git

2.版本控制 

版本控制:就是将每一次修改的都会上传一次,每次会有自己的上传记录,并且记录每一次的版本,可以随时得到每次上传后的版本内容。(这只是我的自我认识)

对源代码的历史修改进行维护,保留历史的所有修改记录

gitee&github:是一个远程平台

git:是将本地库的代码上传到远程代码库中,即gitee或github

3.git的操作 

windows中就运用git的三板斧,add,commit,push

Linux中首次使用时,要运用一下的命令

git config --global user.name 你的gitee用户名 
git config --global user.email 你的邮箱

 

如图是一个git仓库和本地代码存放位置,git中包括git远端仓库和暂存区

三步操作

1.git add:会将当前目录下已经修改过的部分记录下来,添加到git仓库的暂存区 

2.git commit:将暂存区的内容同步到本地仓库当中,同步之后,暂存区内容就清空了

3.git push:本地仓库内容同步到远端仓库

另一些命令: 

git log:查看历史提交

git rm filename:删除信息

这里git只是简单的认识应用。

2.Linux调试器-gdb使用

1. 背景

首先我们先来了解gcc与g++编译的编译情况。

linux下,gcc/g++出来的二进制程序,默认采用release模式

Linux下,gcc/g++采用debug模式编译程序的命令,要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项。

debug与release的区别

release:会优化代码,不可调试

debug:对代码的优化会弱于release,但可在编译器形成可执行程序时,会给可执行程序增加调试信息。

debug运行的程序会比release模式下运行的程序所占内存大,因为添加了调试信息。

 2. 开始使用

quit:退出gdb
list/l:|文件名:行号/函数名,I行号/函数名;接着上次的位置往下列,每次列10行
b:b文件名:行号/函数名,b行号/函数名;在某一行设置断点
info/i: info b/break:查看断点信息
d:d断点编号:删除断点
disable/enable 断点编号:使能(关闭打开)断点
next/n:逐过程,F10
step/s:逐语句,F11
print/p:查看变量内容&&地址a && &a
display 变量名: 跟踪查看一个变量,每次停下来都显示它的值
undisplay  number :取消对先前设置的那些变量的跟踪
continue/c:运行至下一个断点处
finish:运行结束所在函数,就停下来
until X行号:跳转至指定X行,中间的代码都是运行了的!

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

set var:修改变量的值,set var i=100

breaktrace(或bt):查看各级函数调用及参数

run(r):运行程序

注意例子:

1.l(list)加文件名:查看文件信息

gdb默认执行最近的命令 

2.断点只能分开去打,不能一次性打

b+行数:行打断点

b+文件+行数:一个文件的哪一行打断点

b+文件名+函数名:一个文件中的某个函数断点

3.删除断点:d+断点编号

info b:查看断点信息

disable+断点编号:禁用断点

enable+断电编号:使能端点,启用断电

断点编号会持续增加,不会减少

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值