Linux——git和gdb

华为项目TR5评审后发现了重大缺陷的应急处理经验 华为TR5评审后发现重大缺陷时,启动分级应急机制:1)缺陷分级:按严重性(致命/严重/一般)评估影响;2)应急响应:跨部门会议制定方案,冻结生产并调配资源;3)根因修复:通过RCA定位问题,设计变更后回归测试;4)变更管理:评审修复影响,调整发布策略;5)持续改进:记录缺陷闭环,优化流程。案例显示,软件闪退问题通过热修复补丁和代码重构解决。关键工具包括Jira、FMEA等,确保缺陷在量产前拦截,降低风险。 阅读详情

什么是git

git是一个版本控制工具

如何去做版本管理?

假设学校布置了一个实践报告课题,让学生去写

小A写完了一篇。去给老师交,老师指出了很多不足,把第一次的报告打回去了

报告改好后,又去给老师交,第二次又被打回了

第三次一样,也是被老师给打回去了,结果老师又找小A要他第二次的实践报告,小A已经懵了,他根本就没有留以前写的报告

小明知道了小A这件事,在他被老师大会的时候他就留了个备份

等到第三次的时候老师又找小明要第二次写的报告,小明留有备份,所以就给老师交差了

小明所做的工作就叫做版本管理

以后在公司上班,程序员就扮演了学生这一角色,产品经理就是老师,程序员就要将每次的项目都备份一下,以防产品经理需要历史版本

git命令行基本操作

确定自己Linux上有没有安装git,输入giit --version

如果有下面这行代码,就说明Linux里装了git

如果没有就直接用指令安装就行了

sudo yum install -y git

没有仓库可以在git个人主页新建仓库

创建仓库设置照搬这个就行,新建仓库现在只能是私有的,后面可以改

语言和.gitgnore可以根据自己的情况调整

还有这个

现在想要开源就要在代码的管理里

找到开源设置,把这些都勾了,然后git后台就会审核仓库,完成后就能开源了

但是一般空仓库午饭直接开源,提交一点代码就能开源了

怎么把远端拉取到本地

复制这个链接

git clone 就能把远端仓库的所有内容克隆到本地

这里的.git目录其实就叫做仓库

怎么添加代码到仓库里呢?

现在进入要添加到仓库的目录中,使用git add .

这里的 . 就是选中当前目录里所有没有被添加到仓库的文件

然后就是提交

使用 git commit -m "代码说明" 提交代码,这个叫做把对应的修改内容提交到本地仓库

从add 到 commit 指令的过程中,就已经相当于小明把自己的实践报告保存到本地的这一动作

接着就是push将本地仓库的内容传到远端仓库

然后输入一下用户名和密码

成功后远端仓库也能看见提交的代码了

使用git log 能看到所有的提交日志

要是想删除文件,直接输入这个指令,就会在git上直接删除

我们想看一下本地和远端同步的状态,使用git status就可以看

现在就能看出这个main.c被delete了

这时要将本地的删除提交到远端,这时就再进行git的三板斧就行了

gdb的使用

Linux跟vs一样写完代码也需要调试,这里用的就是gdb

首先先在vim里写一段代码

一般代码有两个版本,分别是debug版本和release版本

debug版本是程序员自己进行测试的版本,测试没问题后就把release版本交给测试人员让他们再进行测试

但是gcc/g++默认生成的是release版本的,不是debug版本的,所以还要改一下Makefile

-g 就是生成debug版本的可执行程序

-std=c99 就是用c99的标准编译

那么debug和release在调试信息层面上有什么差别呢

可以使用readelf指令来读取可执行程序的二进制构成

这个就是mytest -debug文件二进制构成的指令

他就能把我们可执行程序的对应的各种分段全部显示出来

使用grep指令搜索一下debug,debug文件里确实有很多的debug调试信息

现在可以使用gdb指令来进行调试了

l 1

l 1指令就是从第一行开始显示代码,继续输l就能把历史的代码全部展示出来,gdb能自动记录我们最近一次写的输入的指令,所以直接回车也能显示代码

r

输入r指令,表示润代码就会运行起来,直接就会显示结果最后正常退出

b

调试肯定是要打断点的,打断点的指令就是b

写个b 19就会在代码的第19行打一个断点,后面还有文件信息等

info

info b 的意思是打开我们打过的断点

当我们再输入r时就会在断点处停止

再输 info b

就跟上次不一样了,多了这么一行,意思就是当前我们的断点已经命中一次了

d

删除断点使用的时指令 d

b 的时候是行号,d 的时候更行号怎么样,似乎并不行

其实d后面跟的时断点的编号

当我们把编号为1的断点删除后,再去info就找不到了

再次运行时就会直接运行到程序结束

disable breakpoint

vs的断点不还有实心和空心的状态嘛,当断点时空心的时候就是失去作用了,linux里面也可以输入 disable breakpoint 2后能发现2号断点Enb选项是 n

这就表示这个断点现在是关闭状态

enable breakpoint

打开指令则是enable breakpoint

s

逐语句调试

如果前面输入过s,后面继续回车就会自动逐语句

n

一个过程由多条语句组成

前面输过n后再按回车就是逐过程调试

p

有时候调试不仅仅是一步步走,还会监视相应变量的变化,于是就有了p

要监视sum,就p sum,相应的 i 和 &sum 也一样

但是这个指令不能常显示,必须手动输入后才能查看变化后的数值

display

要常显示就要使用display指令,这下每一次调试时都会常显示

取消常显示则是用 undisplay,但不能直接输入具体名字,要输入对应条目的编号才能取消常显示

until

假如我们调试时就像把循环跑完,不打断点,就使用到了until指令

注意:要是有断点在until指定行数的前面的话先取消掉断点才能正常until

finish

假如目的只是进入到某个函数但是只运行完该函数就停下来,就可以使用finish指令

c

这个指令的作用就是调试时从一个断点处直接运行到下一个断点处

[Python图像处理] 一.图像处理基础知识及OpenCV入门函数 该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 同时推荐作者的C++图像系列知识: [数字图像处理] 一.MFC详解显示BMP格式图片 [数字图像处理] 二.MFC单文档分割窗... 阅读详情

相关推荐

从零到一:R与RStudio的安装与配置全攻略

本文提供了R与RStudio的完整安装与配置指南,涵盖Windows、Mac和Linux三大操作系统。从基础环境搭建到高级性能优化,详细介绍了R语言安装、RStudio配置、项目管理和实用技巧,帮助数据科学初学者快速搭建高效的分析工作环境。

weixin_29062671的博客 419

【Linux】Linux命令行git和Linux调试器-gdb的使用

Linux命令行git和Linux调试器-gdb的使用

大三小白C++进阶之路 3236

SIGIR 2026:信息检索前沿技术与投稿指南

信息检索(Information Retrieval, IR)是计算机科学中处理大规模数据检索的核心技术,其基本原理是通过算法模型从海量数据中高效提取相关信息。随着深度学习的发展,神经信息检索(Neural IR)和多模态检索成为研究热点,如稠密检索模型(DPR)和跨模态预训练(CLIP)等技术的应用显著提升了检索精度。这些技术不仅在学术领域具有重要价值,还在电商搜索、医疗检索等实际场景中展现出巨大潜力。SIGIR作为信息检索领域的顶级会议,汇聚了全球顶尖学者和工业界专家,是展示最新研究成果的重要平台。本文

weixin_29189363的博客 285

【Linux】git与gdb

本文介绍了版本控制工具Git和调试器GDB/CGDB的基本使用。Git作为分布式版本控制系统,可以记录文件修改历史、回滚版本、比较差异、支持并行开发和团队协作。文章详细说明了Git的安装方法、仓库创建流程以及上传代码的"三板斧"操作。在调试工具部分,重点讲解了GDB调试器的使用,包括-g编译选项的作用、GDB的基本命令以及更友好的CGDB安装方法。这些工具能有效帮助开发者管理代码版本和进行程序调试,提高开发效率。

2302_79552494的博客 699

SoC验证新思路:除了UVM仿真,你还可以试试Cadence JasperGold的形式化验证

本文深入探讨了Cadence JasperGold形式化验证在SoC设计中的创新应用,对比传统UVM仿真验证,详细解析了其数学穷尽性验证优势。通过实战案例展示了JasperGold在总线协议、时钟域交叉等关键场景的验证方法,并提供了混合验证流程设计与效能优化方案,帮助工程师提升验证效率30%以上。

weixin_30566063的博客 119

论文阅读:Visual Relationship Detection with Language Priors

Visual Relationship Detection with Language Priors(ECCV2016) 文章   尽管大多数的relationship并不常见,但是它们的object和predicate却更频繁地独立出现。paper用这个insight分别独立训练训练object和predicate的模型,然后再进行组合来预测relationship。Visual relatio...

Kivee的博客 2877

【Linux】git和gdb

下面还有两个Linux中会用到的工具,一个是给,可以叫,就是对我们写的代码进行版本控制一个是,就是我们C语言/C++的下面我们分别来介绍一下。

2201_76024104的博客 989

Kimodo 入门教程(一)英伟达开源人形机器人动捕数据集训练运动学动作扩散模型

Kimodo是一个基于700小时商用光学动作捕捉数据集训练的运动学动作扩散模型,能够生成高质量的人体和机器人3D动作。该模型支持通过文本提示和多种约束条件(如关键帧、末端执行器位置等)进行控制,并提供数字人类和类人机器人两种模型变体。安装方式包括软件包安装和源代码安装两种,需要配置HuggingFace令牌以访问文本编码器。推荐使用GPU加速,最低需要17GB显存。项目提供命令行生成和交互式演示两种使用方式,演示程序支持时间轴编辑和实时3D可视化。模型分为商用友好版和受限版,其中SMPL-X版本需要额外申请

2506_90492529的博客 1924

Linux系统编程学习 NO.9——git、gdb

本篇文章主要介绍了Linux操作系统下的开发工具git版本控制器和gdb调试器。

sinzz的博客 1013

【教程4>第4章>第12节】通过FPGA实现基于FFT变换的频偏估计和补偿

基于FFT变换的频偏估计和补偿,其基本原理如下:而频偏补偿的目的是将频偏后的信号频谱移回原来的位置。

FPGA/MATLAB学习教程/源码/项目合作开发 882

【技能】OpenClaw Skill 操作钉钉(原理+20个实例)

OpenClaw Skill是遵循AgentSkills规范的自动化逻辑单元,用于指导AI助理调用钉钉工具。每个Skill包含SKILL.md文件,定义触发条件、执行逻辑和接口调用方式。Skill通过钉钉Connector插件实现API鉴权和请求转发,需配置ClientID/Secret等凭证。Skill加载路径包括工作目录、本地目录和内置目录,优先级由高到低。使用前需安装必备插件并配置钉钉权限,通过openclaw.json管理Skill开关和环境变量。ClawHub作为官方技能仓库支持Skill的安装和

海兰 1214

Linux git的基本使用安装提交 和 gdb的使用

执行完指令后,就会生成一个仓库文件夹,进入仓库文件夹后,会有一个隐藏的文件夹 .git。git config --global user.name "你的名字(随便什么名字)"git config --global user.email "gitee绑定的邮箱"提交到本地仓库中,提交改动到本地。,输入gitee账户的密码后即可推送至远端仓库,同步到远端服务器上。git的基本配置,在安装完git后,要输入两句指令。1. 创建一个文件或者拷贝文件到仓库文件夹下,执行。git log 输出仓库的提交日志。

Mike的博客 1072

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux:git和gdb/cgdb

当我们不想使用display观察打印变量的值时,使用undisplay + 对应变量的编号就可以了,如下图所示,当我们不想观察result的值的时候,由于result的编号为2,执行undisplay 2命令就取消对result的值的观察打印了。如上图所示,分别有1,2,3三个断点编号的断点,当我们想要删除18行的断点时(即编号为2的断点) ,我们就可以直接使用命令的 d 2,然后我们在info查看断点信息,果然18行的断点就被删除了。,在演示中即将lesson4这个目录推送到仓库;

2302_80892233的博客 835

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Linux下的git与gdb

协作: 首先在gittee新建仓库 然后点击克隆/下载 然后复制HTTPS里的网址将远端仓库拉取到本地: 进入这个目录之后 .git就是隐藏的本地仓库(里面包含的是所有的修改记录) .gitignore:后缀过滤,远程仓库只提交源文件(.c/.cpp/.h)当我们需要提交代码到本地仓库时: 但是这个时候其实还并未直接添加到git里,而是先添加到临时仓库里 查看当前git仓库状态 当我们需要将临时仓库里的文件提交到git需要 我们称为日志信息/提交日志信息那我们如何将本地仓库提交到远程仓库: 需

2401_87257864的博客 981

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Linux下git和gdb的使用

Linux下git、gdb的使用

JJR_YZ的博客 1258

【Linux】Linux调试器-gdb使用及git命令行

Linux调试器-gdb使用

m0_68931081的博客 3553

linux中的git和gdb

本文摘要介绍了Git版本控制工具和GDB调试器的基本使用方法。Git部分包括仓库创建、文件添加提交、同步远程仓库等操作流程,以及冲突解决方法。GDB调试部分详细说明了调试模式设置、断点管理、单步执行、变量监视等调试技巧,包括条件断点设置和运行时变量修改等功能。两者都提供了Linux环境下的具体命令操作指南,帮助开发者进行代码版本管理和程序调试。

2301_80006788的博客 411

[Linux]git_gdb

git status 查看仓库状态git add <文件名> 把文件添加到仓库暂存区git commit -m "信息" 把文件加入仓库git push 把本地仓库同步到远端git pull 把远端仓库同步到本地。

jk23728的博客 805

【Linux】Linux开发:GDB调试器与Git版本控制工具指南

在 Linux 开发中,GDB 调试器和 Git 版本控制工具是开发者必备的利器。GDB 帮助快速定位代码问题,Git 则提供高效的版本管理与协作支持。本指南将简明介绍两者的核心功能与使用技巧,助力提升开发效率。

专注于 C/C++ 后端开发,涵盖基础语法、Linux系统与网络、MySQL数据库、常见算法及项目经验。 4471

【linux】git和gdb调试工具

在vs中逐过程:F10在gdb中的逐过程:8.next8.n(简写)我们在主函数那打个断点,然后使用指令r让程序跑起来,遇到main函数处打的断点停下来,然后按n,开始逐过程,我们发现到了add函数不进函数内部,z直到程序结束.在vs中逐语句:按F11在gdb逐语句:9.step9.s(简写)同理,我们在主函数打断点,按r让程序跑起来,当到断点处,按s/step,我们发现可以进入add函数中。

yyqzjw的博客 1166

【Linux】Linux下git使用与gdb调试工具

在Linux下git下载:yum install -y git然后在本地就可以看见仓库名称。紧接着把代码提交到云端就要用到git三板斧:1.git add . 文件名引号之间一定要写提交的日志内容,可以更好维护仓库。3.git push。

2302_80652761的博客 644

【Linux】Linux开发工具(yum、gdb、git)详解

在 Linux 下安装软件,通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成在 Windows 上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比 "App" 和 “应用商店” 这样的关系。yum(Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器。主要应用在 Fedora,RedHat,

Elena's Blog 2749

Linux-5 git和gdb

版本控制:就是将每一次修改的都会上传一次,每次会有自己的上传记录,并且记录每一次的版本,可以随时得到每次上传后的版本内容。Linux下,gcc/g++采用debug模式编译程序的命令,要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项。debug:对代码的优化会弱于release,但可在编译器形成可执行程序时,会给可执行程序增加调试信息。windows中就运用git的三板斧,add,commit,push。会将当前目录下已经修改过的部分记录下来,添加到git仓库的暂存区。

weixin_64423718的博客 671

Linux工具的使用-【git的理解和使用】【调试器gdb的使用】

关于去中心分布式版本控制器git的背景学习和使用学习。【关于git的详细操作】【关于调试器gdb的理解和详细使用】

aaa114514aaaa的博客 1312

Linux基础——git和gdb的使用

我们在平时维护和上传代码时会用到git,但是这个git具体是什么,往往又说不清楚。其实git其实就是一个版本管理工具,有了这个工具就能方便快捷地查询自己上传代码的不同版本,对每一次上传的改动了如指掌。 那gdb又是什么呢?在VS上,我们可以通过鼠标点击来打断点,通过F5,F10和F11来控制程序,实现程序的调试,但是Linux没有图形界面,就不能像VS一样,就只能引入gdb来作为调试工具,对程序进行调试。

JDSZGLLL的博客 708

Linux开发工具——vim,git的使用和gdb工具

本文介绍了Linux下三个常用开发工具的使用方法: vim文本编辑器:详细讲解命令模式、插入模式、底行模式的切换方式及常用操作命令,包括光标移动、复制粘贴、撤销恢复等,并提供了快速配置vim的方法。 git版本控制:通过gitee示例演示仓库创建、克隆、提交代码的基本流程,核心命令包括git add、commit、push等。 gdb调试工具:说明如何用-g选项编译debug程序,介绍断点设置、代码执行控制、变量查看等调试技巧,如list、break、next、print等命令的使用。 全文以实用操作为主,

二哈的博客 1091
上一篇: Linux——\r,\n和缓冲区
宴之敖者、
博客等级 码龄4年 131粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值