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

Linux开发工具(4)

一、版本控制器Git

注意:git是一个具有网络功能的版本控制器,且其客户端和服务的是一体的

1.1版本控制器

为了能够更方便我们管理这些不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你了解到一个文件的历史,以及它的发展过程的系统。通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业。目前最主流的版本控制器就是Git。Git可以控制电脑上所有格式的文件,例如doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项目中的源代码文件


1.2git简史

同生活中的许多伟大事物一样,Git诞生于一个极富纷争大举创新的年代
Linux内核开源项⽬有着为数众多的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保
存归档的繁琐事务上(1991−2002年间)。到2002年,整个项⽬组开始启⽤⼀个专有的分布式版本控制系统BitKeeper来管理和维护代码,到了2005年,开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了Linux内核社区免费使⽤BitKeeper的权力。这就迫使Linux开源社区(特别是Linux的缔造者LinusTorvalds)基于使⽤BitKeeper时的经验教训,开发出⾃⼰的版本系统。他们对新的系统制订了若干。
目标:
• 速度
• 简单的设计
• 对非线性开发模式的强⼒支持(允许成千上万个并⾏开发的分⽀)
• 完全分布式
• 有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)
自诞生于2005年以来,Git日臻成熟完善,在高度易⽤的同时,仍然保留着初期设定的⽬标。它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统

1.3安装git

安装命令行:
ubuntu:apt install git
centos:yum install git

查看是否下载成功
git --version

1.4下载项目到本地

创建好一个放置代码的目录
git clone [远程仓库的地址]

1.5git三板斧

(1)git add将代码放到刚才下载好的目录中:git add .[或者文件名字]
注意:将需要用git管理的文件告知git,最后的"."表示当前目录,
(2)git commit提交改动到本地:git commit -m "提交信息"
注意:提交的时候应该注明提交日志, 描述改动的详细内容,且-m不能去掉
(3)git push同步到远端服务器上:git push
注意:需要填入用户名密码。同步成功后,刷新Github页面就能看到代码改动了

1.6查看历史提交记录

git log就可以查看历史提交记录

1.7查看提交状态

git status可以查看提交状态

二、调试器-gdb/cgdb使用

2.1背景

(1)程序的发布方式有两种, debug 模式和 release 模式,Linux gcc/g++ 出来的二进制程序,默认是release模式。
(2)要使用gdb调试,必须在源代码生成二进制程序的时候, 加上-g选项,如果没有添加,程序无法被编译

注意:gcc编译方式发布得默认是release版本,无法直接进行调试,可以使用readelf -S查看debug的信息

2.2常见使用

• 开始: gdb 调试文件名字
• 退出: ctrl + d 或 quit 调试命令

 命令        作用           样例
list/l            显示源代码,从上次位置开始         每次列出10行 :list/l 10
list/l 函数名 列出指定函数的源代码        list/l main
list/l  文件名  行号    列出指定文件的源代码 list/l mycmd.c:1
r/run    从程序开始连续执行         run/r
n/next  单步执行,不进入函数内部,逐过程F10     next/n
s/step            单步执行,进入函数内部, 逐语句F11                       step/s
break/b[文件名:]行号      在指定行号设置断点            break 10/break test.c:10/b 10
break / b 函数名           在函数开头设置断点                    break main
info break/b             查看当前所有断点的信息              info break/info b
finish                   执行到当前函数返回,然后停止                finish
print/p 表达式             打印表达式的值                  print start + end
p 变量                     打印指定变量的值                         p x
display 变量名     跟踪显示指定变量的值(每次停止时都显示要跟踪的变量)display x
set var 变量 = 值         修改变量的值                      set var i = 10
continue/c           从当前位置开始连续执行程序                continue
delete/d breakpoints         删除所有断点                    delete breakpoints
delete/dbreakpoints n   删除序号为n的断点                  delete breakpoints 1
disable breakpoints     禁用所有断点                        disable breakpoints
enable breakpoints       启用所有断点                      enable breakpoints
info /i breakpoints   查看当前设置的断点列表                info breakpoints
undisplay 编号     取消对指定编号的变量的跟踪显示              undisplay 1
until X行号                 执行到指定行号                       until 20
backtrace/bt         查看当前执行栈的各级函数调用及参数          backtrace
info/i locals             查看当前栈帧的局部变量值            info locals
quit                           退出gdb调试器                          quit

                                                 

           2.3gdb使用各项选项样例:

gdb调试l指令查看:

   n和run调试


 

 

http://www.dtcms.com/a/589526.html

相关文章:

  • 怎么办一个网站wordpress个人中心无法登录
  • U-Net:用于生物医学图像分割的卷积网络,经典中的经典,后续所有创新改进的起点
  • 基于n8n构建最新资讯自动获取:从RSS抓取到智能分析实践
  • 深圳注明企业网站设计山西网站建设方案
  • 【强化学习】可证明安全强化学习(Provably Safe RL)算法详细介绍
  • 【性能优化】前端高性能优化策略
  • 【LeetCode】106. 从中序与后序遍历序列构造二叉树
  • 手机怎么建自己的网站管理网络的网站
  • SpringCloud02-服务拆分远程调用
  • JavaScript判空最佳实践
  • 做的网站缩小内容就全乱了珠海网站建设官网
  • 突破AI助手成本壁垒:知识图谱思维架构让小模型实现大性能
  • 做网站使用明星照片可以吗保护动物网站建设策划书
  • 【Linux学习】新建系统(Ubuntu)后的一些开局必要操作配置
  • 十大免费网站推广网络规划工程师
  • Java 大视界 -- Java 大数据机器学习模型在电商用户流失预测与留存策略制定中的应用
  • 山东网站开发苏州建设工程招标在哪个网站
  • 网站费用单企业速成网站
  • 电子商务网站建设的意义0基础怎么做网站模版
  • 深入理解C语言共用体/联合体(union):大小计算与大小端判断实战
  • ITIL 4 测评题库试卷及详细分析
  • 数据库基础-01Mysql库和表的操作
  • linux服务ping不通百度的解决过程【ping www.baidu.comping: unknown host】
  • 广州网站建设模板设计素材库
  • 深入浅出蓝桥杯:算法基础概念与实战应用(一)基础算法(上)
  • C++ vector 全面解析:从接口使用到底层机制
  • 亚马逊欧洲站vat怎么申请湖南企业做网站
  • vite-plugin-vue-mcp:在 Vue 3 + Vite 中启用 MCP,让 AI 理解并调试你的应用
  • 如何20元/年开通Termius专业版
  • 树莓派docker_freeCAD环境搭建