波奇学Linux:git和gdb调试

git用来版本控制,同样是版本控制的软件还有svn等。

git的特定是具有网络功能的版本控制器,开源,client和server是一体的。(去中心化分布式管理)

 client和server一体意味着远程仓库和本地仓库是平等地位,远程仓库是特殊的仓库而已,我们的clone远程仓库,某种意义上相当于远程仓库的push的操作

git本质上是操作系统,就像centos是基于Linux开发的,git和github是基于git的网站

git的常用指令

git clone http请求

 

cp复制文件到仓库中

添加文件到暂存区

git add filename

 提交文件到本地仓库

git commit -m "注释"

 此时要求设置邮箱和提交名单

 这个时候就提交成功了,注意邮箱和gitee账号邮箱一致才有提交的小绿点。

 

 输入指令

git push

填写git的用户和密码就提交成功了

 查看历史记录

git log

 查看仓库状态

git status 

 有一个文件未被追踪,用add来添加到追踪状态。

提交文件后再查看仓库状态发现有个文件可以去commit。

 

 gdb调试

输入指令下载gdb,root直接下载,普通用户提权下载

sudo yum install gdb -y

设置好makefile,默认生成debug版本

写好test.c的源码,确认能够正确运行后 

 进入调试

gdb filename

进入调试页面,注意输入生成文件名而不是源文件

 list指令查看源码内容

简写l list n 查看n行附近内容,list funcname 查看函数内容

 回车键查看下一行或者下一个函数内容,根据前一条指令确定。

打断点

在第n行打断点

b n

 查看断点

info b(information b)

 删除断点

d n (delete 断点编号(info b第一列))

当退出gdb后,断点不会保存下来会消失。 

 r运行程序,遇到断点停止。 

 

 n(next)逐过程,s 逐语句

 n不进入函数

 s进入函数

监视变量的值

p variablename

 

常显示

dispay variablename

 取消常显示

undispay num(最右侧编号的值)

 

 运行到指定行代码

until n

finish 完成当前函数运行。

finish

从一个断点运行到另一个断点

c

禁用/启用断点

disable/enable num

 跨文件打断点

在test.i处打上断点

 在变量某个特殊值时调试

set var variable=n

 查看函数调用堆栈

bt

查看局部变量

info locals

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

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

相关文章

CSS详解

这里写目录标题 cssCSS 是什么基本语法规范引入方式内部样式表行内样式表外部样式关于缓存: 选择器的功能选择器的种类 类选择器语法细节:作用特点 id 选择器后代选择器选择器 作用 注意事项 其他 css CSS 是什么 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素…

参数名的映射,小心使用strict=False

从vgg16-397923af.pth里读取的数值应该和加载预训练模型后model.load_state_dict参数一致。 而我的不一致! 原因:在载入参数到模型键值的不匹配,所以使用了strictFalse。 解决办法: 进行参数名的映射,将不匹配的参数名…

【论文阅读】《Distilling the Knowledge in a Neural Network》

【论文阅读】《Distilling the Knowledge in a Neural Network》 推荐指数: 1. 动机 (1)虽然一个ensemble的模型可以提升模型的效果,但是在效率方面实在难以接受,尤其是在每个模型都是一个大型的网络模型的时候。 &…

我在VScode学Java类与对象(Java构造方法 、JavaBean)第二辑 + VScode怎么在预览模式中点击另外一个文件,不会被替换掉

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:《我在VScode学Java》 关于Java数组学习、JVM中的堆和栈—>可以参考我的这篇文章我在VScode学Java(Java一维数组、二维数组、JVM中的堆和栈…

C#图片处理

查找图片所在位置 原理:使用OpenCvSharp对比查找小图片在大图片上的位置 private static System.Drawing.Point Find(Mat BackGround, Mat Identify, double threshold 0.8) {using (Mat res new Mat(BackGround.Rows - Identify.Rows 1, BackGround.Cols - Iden…

移远通信发布新款5G/4G、LPWA和GNSS天线,进一步优化物联网终端性能

2023年7月17日,全球领先的物联网整体解决方案供应商移远通信宣布,再次推出三款新型天线产品,以更优的通信和定位性能,满足各类物联网终端在5G/4G、LPWA和GNSS等技术上的更高设计需求。这三款天线包括: YEMN926J1A&…

如何将jar 包下载到自定义maven仓库

下载命令 mvn install:install-file -Dfileartifactid-version.jar -DgroupIdgroupid -DartifactIdartifactid -Dversionversion -Dpackagingjar -DlocalRepositoryPath. -DcreateChecksumtrue参数解释 在上述命令中,需要替换以下参数: artifactid-vers…

Stable Diffusion配置要求,显卡推荐

Stable Diffusion 是一款流行的人工智能图像生成器,您可以在自己的 PC 上运行。但是运行Stable Diffusion的最低规格是多少,哪些组件最重要? Stable Diffusion需要什么 PC 硬件? Stable Diffusion最关键的一个组件是显卡 (GPU)。…

自定义一个SpringBoot starter 怎么实现

文章目录 1、创建一个空项目2、在新建的空项目中添加starter模块3、添加autoconfigure模块4、配置starter模块的pom文件5、配置autoconfigure模块1. 配置pom依赖2、创建xxProperties配置类3、创建服务提供类xxxService4、创建自动配置类xxxGenerateAutoConfiguration5 、META-I…

linux图形界面总结——X、Xorg、WM、QT、GTK、KDE、GNOME的区别与联系

文章目录 一、 linux图形界面二、X协议三、Xfree86 Xorg四、WM(window manager:窗口管理器)五、X协议的Client端实现六、KDE、GNOME、QT和GTK直接关系七、参考: 一、 linux图形界面 linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程…

linux驱动开发:驱动开发框架,linux内核字符设备驱动开发过程

一、驱动框架 1.Linux内核模块和字符驱动的关系 模块是Linux进行组建管理的一种方式, 结构体:对设备的管理内核需要抽象出来一个结构体来描述设备所有的共性信息写驱动需要申请一个结构体并赋值(初始化),然后注册给内核让内核统一管理 驱动:由内核统一管理,所以驱动…

RabbitMQ实现六类工作模式

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: RabbitMQ实现六类工作模式 ⏱️ 创作时间: 2023年07月20日…