【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

相关推荐

  1. word

    2024-05-09 11:48:09       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-09 11:48:09       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-09 11:48:09       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-09 11:48:09       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-09 11:48:09       20 阅读

热门阅读

  1. 图搜索算法详解-概述

    2024-05-09 11:48:09       9 阅读
  2. centos常用命令介绍

    2024-05-09 11:48:09       11 阅读
  3. 掌握SQL的时间序列分析利器:LEAD与LAG函数详解

    2024-05-09 11:48:09       11 阅读
  4. 学习R语言第六天

    2024-05-09 11:48:09       10 阅读