【Linux第四课 - git、gdb】git仓库的使用、dgb代码调试

一 、git

在linux中使用
分支管理、多人协作

git、gitee、github的理解

git是版本控制工具,gitee和github是网站

Linux中git的使用

在这里插入图片描述

提交

1、安装git

sudo yum install -y git

2、进入gitee中我的仓库
选择仓库的HTTP链接
在这里插入图片描述

3、将HTTP链接在Linux中克隆

git clone 网址

在这里插入图片描述

4、将代码拷贝到本地工作区

cp ../文件名 . -rf

在这里插入图片描述

5、把本地工作区没有添加到仓库的添加到仓库

git add .

在这里插入图片描述
6、提交到本地仓库

git commit -m "提交日志"

第一次在Linux中使用git可能有下面报错,按下面指令写

在这里插入图片描述
7、push到远端

git push

需要输入账号和密码(登录gitee时的账号密码)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、git log
查看历史提交记录
在这里插入图片描述
9、git status
显示当前工作区
在这里插入图片描述

删除

删除也是修改也需要提交

git rm -r 文件名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题:远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了(一旦提交成功就必须被所有人看到)
解决方法:git pull --rebase origin master

之后再git push就可以了
在这里插入图片描述

二 、gdb - 调试工具

安装gdb

sudo yum install -y gdb

进入gdb版本

软件发布一般有两种方式:
1、debug(可以调试),形成的可执行程序添加了调试信息
2、release(不可以调试),形成的可执行程序去掉了调试信息
gcc/g++编译时是什么模式?是release
gcc的默认行为:
1、默认是动态链接(动静态库)
2、默认是release版本发布
让gcc/g++以debug版本发布:改Makefielgcc -o $@ $^ -g
在这里插入图片描述

1、debug版本为何会有调试信息
(1)debug版本比release版本大
(2)debug版本里面的格式信息ELF有debug信息
在这里插入图片描述
在这里插入图片描述

readelf:读取可执行程序的格式

readelf -S 可执行程序名

gdb开始调试

windows基本调试功能
1、运行起来才能调试
2、看到代码
3、打断点
4、局部调试
5、看到局部变量的内容和地址
6、看到调用栈
7、单步
8、进入函数(f11 - 逐句语句)
f10 - 逐过程

进入gdb

gdb 可执行程序

退出

quit

1

1、显示代码 - l
list
gdb会默认保留上一次访问到的位置

l + 行号

在这里插入图片描述

2、运行程序 - r
在这里插入图片描述

3、打断点 - b
在函数入口处打断点

b + 行号/函数名(函数入口处)

在某指定文件的指定行号打

b + 指定文件名(test.c):行号

只有一个文件时,打在指定行号上

b + 行号

在这里插入图片描述

显示所打的所以断点

info b

在这里插入图片描述

4、删除断点

d + 断点号

在这里插入图片描述

5、使能(禁用/开启)断点
禁用某断点

disable + 断点号

在这里插入图片描述
在这里插入图片描述

启用某断点

enable + 断点号

在这里插入图片描述

2

6、逐过程n(next)和逐语句s(step)
逐过程 n

n

逐语句 s

s

进入一个循环之后一直按回车就会一直在一个循环里跑
7、显示局部变量

p 变量名
p &变量名

8、变量常显示与取消
常显示

display 变量名
display &变量名

取消常显示

undisplay 常显示编号

3、范围查找

9、从一个断点跑到下一个断点
continue

c

10、查看调用堆栈

bt

11、将一个函数运行结束就停下来

finish

12、在一个范围内,直接运行到指定行

until 行号

13、改局部变量的内容(不用改代码,多分支测试)

set var name=value
  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值