目录
[linux 版本控制器 git](#linux 版本控制器 git)
[linux 版本控制器 git](#linux 版本控制器 git)
在gitee创建好的项目页面中复制项目的链接, 以备接下来进行下载
下载项目到本地
创建好一个放置代码的目录
git clone [url]
这里的 url 就是刚刚建立好的 项目 的链接
三板斧第一招 : git add
-
将代码放到刚才下载好的目录中
git add [文件名]
将需要用 git 管理的文件告知 git
三板斧第二招 : git commit
-
提交改动到本地
git commit .
最后的 "." 表示当前目录
-
提交的时候应该注明提交日志, 描述改动的详细内容
git commit -m "日志信息"
三板斧第三招 : git push
-
同步到远端服务器上
git push
需要填入用户名密码. 同步成功后, 刷新 Github 页面就能看到代码改动了
删除:gir rm [文件]
然后三板斧提交
git rm [文件]
.gitignore #不想提交某些后缀的文件同步到远端的git仓库,就可以添加到.gitignore
Linux调试器-gdb使用
背景
- 程序的发布方式有两种,debug模式和release模式
- Linux gcc/g++出来的二进制程序,默认是release模式
- 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项
示例:
开始使用
- list/l 行号:显示程序源代码,接着上次的位置往下列,每次列10行。
- list/l 函数名:列出某个函数的源代码。
- r或run:运行程序。
- n 或 next:单条执行。
- s或step:进入函数调用
- breakpoint(b) 行号:在某一行设置断点
- break 函数名:在某个函数开头设置断点
- info break :查看断点信息。
- finish:执行到当前函数返回,然后挺下来等待命令
- print(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数
- p 变量:打印变量值。
- set var:修改变量的值
- continue(或c):从当前位置开始连续而非单步执行程序
- run(或r):从开始连续而非单步执行程序
- delete breakpoints:删除所有断点
- delete breakpoints n:删除序号为n的断点
- disable breakpoints:禁用断点
- enable breakpoints:启用断点
- info(或i) breakpoints:参看当前设置了哪些断点
- display 变量名:跟踪查看一个变量,每次停下来都显示它的值
- undisplay:取消对先前设置的那些变量的跟踪
- until X行号:跳至X行
- breaktrace(或bt):查看各级函数调用及参数
- info(i) locals:查看当前栈帧局部变量的值
- quit:退出gdb
示例代码:
(注:以上指令均以这段源码为例)
1 #include <stdio.h> 2 3 int AddToTop(int top) 4 { 5 int rueslt = 0; 6 7 int i = 0; 8 for(i; i <= top; ++i) 9 { 10 rueslt += i; 11 } 12 13 return rueslt; 14 } 15 16 17 int main() 18 { 19 int top = 100; 20 21 int res = AddToTop(top); 22 23 printf("res: %d\n", res); 24 25 return 0; 26 }
gdb + 源文件 : 开始调试
示例:
list/l + 行号:显示程序源代码,接着上次的位置往下列,每次列10行。
注:其中,gdb是可以记录历史命令的,输入回车会执行最近一条命令
示例:
r或run:运行程序。
注:开始调试,如果没有设置断点,程序就直接结束 - 相当于vs中的f5
示例:
n 或 next:单条执行。
注:逐过程调试,相当于vs中的f10
示例:
s或step:进入函数调用
注:逐语句调试,相当于vs中的f11
示例:
breakpoint(b) + 行号:在某一行设置断点
示例:
info break:查看断点信息。
示例:
finish:执行到当前函数返回,然后停下来等待命令
注:这个可以理解为是执行完当前函数,vs是没有这一功能的,vs一般是在函数的开头与结尾处设置断点
示例:
p + 变量:打印变量值。
示例:
set var:修改变量的值
注:相当于vs窗口中的监视,可以修改变量的值
示例:
continue(或c):从当前位置开始连续而非单步执行程序
注:可以理解为vs中运行至下一个断点,如果中途没有断点,程序直接结束
示例:
d + 编号:删除断点
注:删除的时候不能输入行号,只能输入编号才可以删除成功
示例:
disable breakpoints:禁用断点
enable breakpoints:启用断点
info(或i) breakpoints:参看当前设置了哪些断点
示例:
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
示例:
undisplay:取消对先前设置的那些变量的跟踪
示例:
breaktrace(或bt):查看各级函数调用及参数
注:可以理解为是vs窗口中的调用堆栈
示例: