当前位置: 首页 > news >正文

版本控制器Git和gdb

一.版本控制器Git

1.版本控制简单来讲可以对每一份代码版本进行复制保存,保证每一版代码都可查

2.仓库的本质也是一个文件夹

3.git既是一个客户端,也是一个服务器,是一个版本控制器。而gitee和GitHub都是基于git的网站或平台

4.git的基本操作

git clone 仓库网址:将远端仓库添加到本地        .git是隐藏的本地仓库

git add 文件名/.:将指定文件/所有文件添加到仓库里(注意:此时只是添加到了临时的暂存区)

git status:查看当前状态

git log:查看工作日志

git commit:将文件添加到仓库,但是会被拒绝,此时应该采用git commit -m "xxx":写下备注再添加到仓库里

git push :将文件提交/同步到远端仓库里

注:在Linux和Windows都可以向远端添加文件,若是一方已经对文件进行修改并提交,另一方提交时会报错,因为远端仓库里最新的文件没有同步到现在另一方的文件中(因为文件是同一份),此时需要用户根据提示进行操作先同步再提交

5.细节问题

<1>git提交时只会提交变化的部分

<2>git --version可以查看系统内是否安装git,apt install -y git可以进行git安装

<3>git的版本管理只会进行管理源文件

<4>.gitignore可对上传的文件进行过滤(按照特定后缀进行忽略)

<5>git pull:将远端仓库和本地仓库同步,用于处理在你之前有人已提交过已修改的文件的情况

<6>远端仓库相比较于任何一方来说都是最新的

二.gdb

前言:Linux下的程序是无法进行调试,因为gcc/g++默认是release模式,此时需要多加-g选项,调至debug模式,生成可执行程序再添加调试信息

1.gdb 可执行文件:进入调试模式(注意:此时代码区和调试区是不在一个界面的,不方便查看,可以使用cgdb)

2.gdb bin:打断点(注意:只要不退出gdb,断点编号会一直向下累加)

注:断点的本质是将代码进行区块划分,以块为单位快速定位区域

3.在Linux中next/n是逐过程进行调试,step/s是逐语句进行调试(补充:逐过程的话遇见函数调用不会进入函数内部,逐语句可以进入函数内部检查内部执行情况)

4.gdb的命令

b 行号/文件名:行号/文件名:函数  :在xx处打上断点

d 断点编号:删除特定编号的断点

info b:查看断点信息       

info locals:查看函数内部所有定义的临时变量(类似VS调试中的监视窗口)

r:运行程序

bt:查看当前函数调用的栈帧

diable  断点编号:关闭特定编号的断点(区别删除)      enable 断点编号:打开特定编号的断点

finish:确认问题是否在函数内部

until:局部区域快速执行

display :查看上下文数据    undisplay xx:不想看xx内容

p 变量/表达式:查看变量/表达式

watch:执行监视某个变量/表达式的值

set var:确定问题的原因

condition 断点编号 条件:给特定编号断点处的语句添加执行条件

http://www.lryc.cn/news/547110.html

相关文章:

  • 关于tresos Studio(EB)的MCAL配置之GPT
  • 大学至今的反思与总结
  • 我们来学nginx -- 优化下游响应速度
  • 国内外优秀AI外呼产品推荐
  • 观察者模式的C++实现示例
  • 爬虫(持续更新ing)
  • AD学习-最小系统板,双层
  • 自动驾驶---不依赖地图的大模型轨迹预测
  • 【五.LangChain技术与应用】【8.LangChain提示词模板基础:从入门到精通】
  • 【AGI】智谱开源2025:一场AI技术民主化的革命正在到来
  • Markdown HTML 图像语法
  • DeepSeek 角色设定与风格控制
  • 国产化替换案例:CACTER邮件网关为Groupwise系统加固邮件安全防线
  • Element UI-Select选择器结合树形控件终极版
  • 《底层逻辑》总结书摘
  • 【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(未成功版)
  • 【微信小程序】每日心情笔记
  • PMP项目管理—沟通管理篇—3.监督沟通
  • 在Linux中开发OpenGL——检查开发环境对OpenGL ES的支持
  • 低空经济-飞行数据平台 搭建可行方案
  • python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
  • 为AI聊天工具添加一个知识系统 之136 详细设计之77 通用编程语言 之7
  • 【CSRF实践】DVWA靶场之CSRF实践
  • 数据库设计方面如何进行PostgreSQL 17的性能调优?
  • [场景题]如何实现购物车
  • Rust 并发编程:Futures、Tasks 和 Threads 的结合使用
  • 常见的网络协议介绍
  • 一文读懂加载地址、链接地址和运行地址
  • Unity帧同步与状态同步混合架构开发指南
  • 后路式编程