Linux环境基础开发工具使用篇(三) git 与 gdb

一、版本控制器-git

1.简单理解:

①git既是服务端,又是客户端

②git会记录版本的变化

③git是一个去中心化的分布式软件

git/gitee 是基于git仓库搭建的网站,让版本管理可视化

2.git 三板斧提交代码

查看安装的git版本  git--version

命令行提交代码到gitee

1. git clone   克隆远端仓库到本地(仓库本质就是一个目录)

2. git add . 提交当前目录下所有的新文件到本地仓库

3. git commit -m "本次代码更新的核心步骤"

这三步完成之后,我们所写的代码,已经被添加到了本地仓库,下来可以将本地仓库推送到远端仓库,将本地仓库内容和远端仓库内容进行同步

4.git push 同步当前仓库内容到远端仓库

3.git补充知识

git log  查看历史提交记录

git pull 将远端仓库和本地仓库进行同步

在多人协同开发时,你怎么知道合作者更新过代码呢?? 他如果更新过本地仓库代码,提交到了远端仓库,而你也更新了本地仓库代码,在你push推送远端时无法提交,产生冲突,这就说明你需要先同步了,git pull 一下即可~

git status 查看本地仓库状态

.gitignore 凡是包含在.gitignore中的文件都不会上传到gitee上

 二、Linux调试器 gdb

1.背景知识

①程序的发布版本:

debug版本: 可以进行调试,因为包含了调试相关信息

release版本: 不能进行调试

②gcc/g++编译形成的可执行程序默认是release版本,必须加-g才能生成debug版本

2.gdb的使用

[进入gdb] 

gdb 可执行程序名   (注意:不能是源文件名)

 [调试]

r run :运行程序
n next :逐过程
s step :逐语句
finish :直接执行完当前函数跳出
util 行号:直接跳转到指定行
[查看]
list 行号/函数:查看源文件内容(每次显示10行, 只需要回车就能往下显示)
p 变量:打印变量值。
set var 变量 = num:修改变量的值(尤其适用于循环语句)
display  变量:常显示(表示在调试的过程中变量信息一直显示)
undisplay:取消常显示

info locals:查看局部变量(类似vs自动窗口)

bt: 查看Linux当前的调用堆栈

[断点]
break(b)  行号:在某一行设置断点
break  函数名:在某个函数开头设置断点

d 断点编号:删除断点

info break :查看断点信息
disable breakpoints :禁用断点
enable breakpoints :启用断点
c:当前断点直接跳到下一个断点

 [退出gdb]

quit/q

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA IO命名与Bank划分

文章目录 IO的命名IO物理命名IO功能命名 Bank简介FPGA器件功能命名与Bank划分查找XILINXIntelLATTICE IO的命名 IO物理命名 FPGA的IO物理命名规则,也就是我们做管脚约束时候的命名。芯片通常是长方体或者正方体,所以命名通常采用字母数字组合的方式&am…

FMM 笔记:st-matching(colab上执行)【官方案例解读】

在colab上运行,所以如何在colab上安装fmm,可见FMM 笔记:在colab上执行FMM-CSDN博客 st-matching见论文笔记:Map-Matching for low-sampling-rate GPS trajectories(ST-matching)-CSDN博客 0 导入库 from…

华为畅享 60X 到底值得入手吗?这4点你必须要知道

作为一款主打千元机市场的机型,华为畅享 60X 到底怎么样?是否值得入手? 可以负责任的说华为畅享 60X 是一款性价比超高的手机,凭借其出色的硬件配置和适中的价格,不仅拥有华为完整的鸿蒙生态,同时它超大屏幕…

电源轨概念讲解

目录 1、电源轨定义2、模拟运放中电源轨概念3、芯片中电源轨概念 在电子设计中,我们经常会听到电源轨的概念,下面就针对他的定义和模电中的习惯叫法做一个简单的讲解: 1、电源轨定义 电源轨是指电路板上传输电力的线路,只要是连接…

【DL】深度学习之语音识别

目录 1 核心概念 2 安装依赖库 3 实践 语音信号处理(Speech Signal Processing)简称语音处理。 语音识别(ASR)和自然语言处理(NLP):语音识别就是将语音信号转化成文字文本,简单实…

go 解压和压缩包

將压缩包放在zippath"D:/xx/xx/xx"中,解压到pathto"D:/xx/xx1/xx"中 type UploaddeployLogic struct {logx.Loggerctx context.ContextsvcCtx *svc.ServiceContextr *http.Request }func NewUploaddeployLogic(r *http.Request, svcCtx *svc.Serv…

Spring-Cloud-Gateway集成Sentinel限流

1&#xff09;gateway添加sentinel相关依赖 <spring-cloud.version>2021.0.1</spring-cloud.version> <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><dependencies><!--gateway--><dependency><gro…

Linux yum与rpm区别

yum和rpm都是Linux系统中用于安装、升级和管理软件包的工具&#xff0c;但它们有一些区别。以下是yum和rpm的主要区别&#xff1a; 1. 功能&#xff1a;rpm是一种软件包管理工具&#xff0c;用于安装、升级和卸载软件包。它可以直接操作软件包文件&#xff0c;但不提供依赖关系…

JQUERY简介与分析

在现代的前端开发中&#xff0c;jQuery无疑是一个非常重要且广泛使用的工具库。它不仅简化了JavaScript的编写&#xff0c;还提供了丰富的功能和强大的选择器&#xff0c;使开发者能够更轻松地操作DOM元素、处理事件和实现动态效果。 简单来说&#xff0c;jQuery是一个快速、简…

【主流开发语言和开发环境介绍】

主流开发语言和开发环境介绍 1. 介绍2. 开发语言3. 开发环境 1. 介绍 下面是一些广泛使用的主流开发语言及其相关的开发环境。 2. 开发语言 Python 用途&#xff1a;通用编程、科学计算、数据分析、机器学习、Web开发等。流行库&#xff1a;NumPy, Pandas, TensorFlow, PyTor…

JavaWeb开发初体验

1.动态网站 动态网站可根据不同情况动态变更的网站&#xff0c;动态网站的网页文件包含程序代码&#xff0c;通过后台数据库与web服务器信息交互&#xff0c;由后台数据库提供实时数据更新和数据查询服务。 2.动态网站的功能特点 动态网站可以实现交互功能&#xff0c;…

面试redis篇-11Redis集群方案-哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下: 监控:Sentinel 会不断检查您的master和slave是否按预期工作自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主通知:Sentinel充当…

Springboot企业级开发--开发入门01

目录 目录 一.Spring Boot的主要特点和优势包括&#xff1a; 二.Spring Boot的核心功能可以归纳为以下几点&#xff1a; 三.Springboot是如何解决问题&#xff1f; Spring Boot 是一个开源的Java框架&#xff0c;其设计目标是为了简化新Spring应用的初始搭建以及开发过程。…

POST参数里加号+变成空格的问题处理

今天遇到个这样的问题&#xff0c;从前端传到后端的加密报文&#xff0c;里面包含了号&#xff0c;但在后端日志输出看出&#xff0c;变成空格。这个是由于经过RSA加密后引起的 解决办法&#xff1a; 1.前端转码&#xff1a;使用encodeURIComponent对参数进行转码 2.后端解码…

电脑上查看已保存WiFi密码方法

在电脑上查看WiFi密码有几种方法&#xff0c;以下是其中两种常见的方法&#xff1a; 方法一&#xff1a;通过已连接的WiFi网络查看密码 打开电脑的WiFi设置界面&#xff08;通常可以在任务栏的通知区域找到WiFi图标&#xff0c;点击即可进入设置&#xff09;。 找到已连接的W…

理解Stable Diffusion、LoRA、Dreambooth、Hypernetworks、Textual Inversion、Checkpoint

前言 在深度学习和人工智能的领域中&#xff0c;模型生成和调整技术的快速发展为创造性内容的自动化提供了新的可能性。本文将介绍四种重要的模型技术——Stable Diffusion、LoRA、Dreambooth、和Hypernetworks——它们在生成艺术、个性化模型调整和网络结构设计方面各自的特点…

【初始RabbitMQ】高级发布确认的实现

在生产环境中由于一些不明原因&#xff0c;导致 rabbitmq 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投递呢&#xff1f; …

python Matplotlib Tkinter-->tab切换2

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.ttk as ttk# 创建自定义工具栏类 c…

面试redis篇-12Redis集群方案-分片集群

原理 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决&#xff1a; 海量数据存储问题高并发写的问题 使用分片集群可以解决上述问题&#xff0c;分片集群特征&#xff1a; 集群中有多个master&#xff0c;每个master保存不同数据每个master都可以有…

10 Redis之SB整合Redis

7. SB整合Redis Spring Boot 中可以直接使用 Jedis 实现对 Redis 的操作&#xff0c;但一般不这样用&#xff0c;而是使用 Redis操作模板 RedisTemplate 类的实例来操作 Redis。 RedisTemplate 类是一个对 Redis 进行操作的模板类。该模板类中具有很多方法&#xff0c;这些方…