Linux-5 git和gdb

发布于:2024-04-14 ⋅ 阅读:(134) ⋅ 点赞:(0)

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+断电编号:使能端点,启用断电

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


网站公告

今日签到

点亮在社区的每一天
去签到