一、git
1. git 常用指令
git status 查看仓库状态
git add <文件名> 把文件添加到仓库暂存区
git commit -m "信息" 把文件加入仓库
git push 把本地仓库同步到远端
git pull 把远端仓库同步到本地
2.云服务器默认不安装 C 静态库
sudo yum install -y glibc-static
sudo yum install -y libstdc++-static
二、调试器 gdb
gdb 调试需要程序是 debug 形式的
gcc / g++ 默认的发布模式是 release
通过 -g 选项,让 gcc / g++ 以 debug 模式发布程序:
gcc -o test test.c -g
1.进入 gdb 调试
gdb <程序名>
(gdb) 下,输入 quit 并回车即可退出,或 ^D 退出
2.查看代码
(1)指定行 l / list
l 5 / l code.c:5 / list 5 / list code.c:5 查看 code.c 的第5行上下
通过按回车可以一直往下查看代码
(2)指定函数
3.执行代码
用 r / run 直接跑完程序
4.调试代码
(1)断点
b 19 在第19行设置断点
b code.c:main 给 main 函数打断点
b code.c:19 给指定文件的第19行打断点
info b 查看所有断点信息
d 1 删除编号为1的断点
在一个调试周期中(gdb 不退出重进),断点编号是线性递增的。
如果已有1、2、3号断点,删去1、2、3号断点后再打一个断点,编号会是4而不是1.
disable 2 禁用2号断点 enable 2 启用2号断点
disable b 禁用所有断点 enable b 启用所有断点
(2)n (next) 逐过程 s (step) 逐语句
都是让代码执行一行,但是 n 不会进语句中的函数,s 会进语句中的函数
n 逐过程:
s 逐语句:
(3)观察变量
display <变量> 常显示变量 undisplay <编号> 取消显示
p <变量> 暂时显示变量的值
(4)until <行号>
直接跳转到某一行
(5)c
(continue) 让代码从一个断点执行到下一个断点
(6)finish
直接运行完当前所在的函数
(7)watch <变量>
监视一个变量,当变量的值改变时,会显示原先值和新值
(8)set var
set var e=5 把变量 e 的值修改为 5
(9)条件断点
新增一个条件断点:
b <行号/函数名> if <条件>
把一个已有断点设置为条件断点:
condition <断点编号> <条件>