波奇学Linux:git和gdb调试

git用来版本控制,同样是版本控制的软件还有svn等。

git的特定是具有网络功能的版本控制器,开源,client和server是一体的。(去中心化分布式管理)

 client和server一体意味着远程仓库和本地仓库是平等地位,远程仓库是特殊的仓库而已,我们的clone远程仓库,某种意义上相当于远程仓库的push的操作

git本质上是操作系统,就像centos是基于Linux开发的,git和github是基于git的网站

git的常用指令

git clone http请求

波奇学Linux:git和gdb调试_第1张图片

 波奇学Linux:git和gdb调试_第2张图片

cp复制文件到仓库中

添加文件到暂存区

git add filename

 提交文件到本地仓库

git commit -m "注释"

波奇学Linux:git和gdb调试_第3张图片

 此时要求设置邮箱和提交名单

波奇学Linux:git和gdb调试_第4张图片

波奇学Linux:git和gdb调试_第5张图片

 这个时候就提交成功了,注意邮箱和gitee账号邮箱一致才有提交的小绿点。

 波奇学Linux:git和gdb调试_第6张图片

 输入指令

git push

填写git的用户和密码就提交成功了

波奇学Linux:git和gdb调试_第7张图片

 查看历史记录

git log

波奇学Linux:git和gdb调试_第8张图片

 查看仓库状态

git status 

波奇学Linux:git和gdb调试_第9张图片 有一个文件未被追踪,用add来添加到追踪状态。

提交文件后再查看仓库状态发现有个文件可以去commit。

 波奇学Linux:git和gdb调试_第10张图片

 gdb调试

输入指令下载gdb,root直接下载,普通用户提权下载

sudo yum install gdb -y

设置好makefile,默认生成debug版本

波奇学Linux:git和gdb调试_第11张图片

写好test.c的源码,确认能够正确运行后 

波奇学Linux:git和gdb调试_第12张图片

 进入调试

gdb filename

进入调试页面,注意输入生成文件名而不是源文件

 list指令查看源码内容

简写l list n 查看n行附近内容,list funcname 查看函数内容

波奇学Linux:git和gdb调试_第13张图片波奇学Linux:git和gdb调试_第14张图片

 回车键查看下一行或者下一个函数内容,根据前一条指令确定。

打断点

在第n行打断点

b n

 查看断点

info b(information b)

 删除断点

d n (delete 断点编号(info b第一列))

当退出gdb后,断点不会保存下来会消失。 

 r运行程序,遇到断点停止。 

 波奇学Linux:git和gdb调试_第15张图片

 n(next)逐过程,s 逐语句

 n不进入函数

波奇学Linux:git和gdb调试_第16张图片

 s进入函数

波奇学Linux:git和gdb调试_第17张图片

监视变量的值

p variablename

 

常显示

dispay variablename

 取消常显示

undispay num(最右侧编号的值)

 波奇学Linux:git和gdb调试_第18张图片

 运行到指定行代码

until n

finish 完成当前函数运行。

finish

波奇学Linux:git和gdb调试_第19张图片

从一个断点运行到另一个断点

c

波奇学Linux:git和gdb调试_第20张图片

禁用/启用断点

disable/enable num

波奇学Linux:git和gdb调试_第21张图片

 跨文件打断点

在test.i处打上断点

 在变量某个特殊值时调试

set var variable=n

波奇学Linux:git和gdb调试_第22张图片

 查看函数调用堆栈

bt

查看局部变量

info locals

你可能感兴趣的:(Linux,git,linux)