目录
- 一 、git
- git、gitee、github的理解
- Linux中git的使用
- 提交
- 删除
- 二 、gdb - 调试工具
- 进入gdb版本
- gdb开始调试
- 1
- 2
- 3、范围查找
一 、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