Linux入门——04 gbd git

news2024/11/28 17:41:10

gbd命令行调试

默认情况下,GDB无法对现在发布的程序进行调试

debug(能调试)&&release(不能调试)

linux下GCC或G++生成软件默认是release的!

1.debug模式

gcc -o mytest mytest.c -g

文件的体积不一样,二进制文件中加了一些debug内容

readelf -S mytest //查看可执行程序二进制格式

2.gdb调试常用指令

gdb mytest

start 代码运行到main函数

  1. l 查看代码
  2. l 0 从第一行开始显示,回车显示下面的代码
  3. break(b) 行号 在该行打断点
  4. info b 查看断点信息
  5. d 断点号 去掉该断点vscode调试快捷键: F5(开始调试) ctrl+F5(开始执行不调试)shift+F5(取消)
  6. run(r) 执行程序到断点处
  7. next (n) 相当于F10逐过程不进入函数内执行
  8. step(s) 相当于F11逐语句 进入函数内执行
  9. contine(c) 从一个断点到另一个断点
  10. bt 查看当前的堆栈(函数调用的过程)
  11. finish 直接跑完这个函数(针对性的跑一个一个的函数)
  12. p 参数名 查看当前参数的值
  13. p &参数名 查看当前参数的地址
  14. display 参数 常显示当前参数的值
  15. undisplay 参数序号 不显示盖序号的参数                                      
  16. until 行号 跳转至指定行
  17. set var 参数=值 将参数改写成指定的值
  18. info locals 显示局部变量信息
  19. disable breakpoints 断点序号 禁用该断点
  20. enable breakpoints 断点序号 启用该断点
  21. help [command] 帮助

3.gbd多进程调试

set follow-fork-mode child/parent //选择父或子进程

set detach-on-fork off //默认为on,在输入set follow-fork-mode child/parent后,再输入这个info inferiors,就可以父子进程一起调试,但是一次只能调一个进程,进程的切换要执行下面命令

info inferiors

inferiors Num //就可以选择要调试的进程了。

4.gbd多线程调试

info thread 查看程序中有几个线程

thread Id 切换线程

输入next的时候,别的线程并不受影响,会直接执行

如果只想让给定的线程执行

set scheduler-locking on/off //on就可以单独的运行了,不会受影响的一直运行。

还能设置指定线程的断点(要在产生线程的时候再打)

break location thread id或者( b 行号 thread id)

5.git操作

  1. git clone 网址
  2. git add .将本地文件放到本地仓库中.git
  3. git commit -m '日志' //这里日志必须有(git commit -m '好好写日志')//这里还是本地操作
  4. git push 提交到网上
  5. git log //查看上传日至
  6. git status //查看状态

对于git文件改名字,使用git mv

如果远端的代码改了,本地的也改了,再push会出现冲突。

这时 git pull //将远端代码拉到本地,再git push

git rm 文件名 //删除文件

对于第一次上传时,会出现

就是要告诉git你的身份信息,分别执行

git config --global user.name "写你名字"
git config --global user.emal "写你邮箱"

然后就可以上传了!

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

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

相关文章

STM32学习记录-04-EXTI外部中断

1 中断系统 (1)中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续…

在尝试了市面上90%的报表工具后,终于找到了这款免费万能的报表工具!

经常有朋友私信问我有“哪个报表工具好用易上手?”或者是“有哪些适合绝大多数普通职场人的万能报表工具?”等问题。 在这里我总结出大家在报表选择时最在意的三个要点。 一、挑选报表工具的重点 1)低门槛上手难度:理想中的报表…

解密《黑神话:悟空》脚本

本文部分参考来自于:john 《黑神话:悟空》这游戏昨天上线了,我第一时间就下载玩了。玩的时候我就挺好奇他们是怎么写的程序,毕竟这么大的游戏项目肯定不会只用C一种语言来写。所以我解压了游戏文件,看看里面有…

开学季必备物品有什么?收下这份高三党开学必备清单!

随着新学期的脚步越来越近,高三的同学们即将迎来人生中至关重要的一年。这一年里,你们将面临无数挑战,同时也将迎来成长的机遇。为了帮助大家更好地准备,我们特别整理了这份“高三党开学必备清单”。这里不仅涵盖了高效学习所需的…

用博达网站群管理平台设计网站时如何引用组件

1 介绍 开发网站时,通常会遇到一种情况,就是在多个页面上需显示相同的内容,例如树状导航,网站导航等。这种情况下可以用博达网站群管理平台中的引用组件功能。引用组件就是与原组件相关联,修改任何一个,其…

书画家•郭晋山•系列作品•赏析之三十三•甲辰龙年第二十九版

[个人简介]: 郭晋山,男,1964年生,祖籍山西繁峙人。 经常欣赏书画名家大作,仔细研究作品之中蕴含的深情厚谊及大自然的美,与作者是如何将内心所想,淋漓尽致地表达在作品之中的! [艺术…

我知道要学GIS开发哪些内容,也已经按照框架全部学完了,为什么还是不会开发?还是没有公司要?

大家都知道GIS行业前景和待遇最好的是GIS开发,但是在学校学不到什么核心技能,所以很多同学都想自学。 动手能力强一点的小伙伴们,会自己去找一些GIS开发教程、开源资料库等等来展开自学。这些资料百度上一搜一大把,加个QQ群、微信…

iTOP-3562开发板/核心板应用于人脸跟踪、身体跟踪、视频监控、自动语音识别(ASR)、图像分类驾驶员辅助系统(ADAS)、车牌识别、物体识别等

可应用于人脸跟踪、身体跟踪、视频监控、自动语音识别(ASR)、图像分类驾驶员辅助系统(ADAS)、车牌识别、物体识别等。 iTOP-3562开发板/核心板采用瑞芯微RK3562处理器,内部集成了四核A53Mali G52架构,主频2GHZ,内置1TOPSNPU算力,R…

二叉树剪枝

1、题目解析 2、算法解析 本题使用二叉树的后序遍历,通过递归函数将左右子树进行处理,得到处理结果后,判断左右结果以及自身的val判断是否需要剪枝。 3、代码编写 class Solution { public:TreeNode* pruneTree(TreeNode* root) {if(root …

Ollama 使用指南:Linux、Windows 和 macOS

Ollama 是一个开源平台,用于部署和运行大型语言模型。它提供了一种在本地环境中运行语言模型的能力,使得用户可以在本地安全地与这些模型进行交互,而无需将数据发送到云端。 安装 Ollama 确保您已经安装了 Ollama。如果还没有安装&#xf…

HashMap实现原理 | HashMap扩容机制 | 底层源码

新人写手,代码菜鸡;笔下生涩,诚惶诚恐。 初试锋芒,尚显青涩; 望君指点,愿受教诲。 目录 一、构造函数 1.1 无参构造函数 1.2 指定HashMap初始容量、负载因子 1.3 传入Map 二、成员变量 三、添加元素及…

Linux--网络配置命令和配置文件--路由实战

文章目录 基本网络配置网卡命名规范为什么要统一网卡名称 修改网卡名称1.修改/etc/default/grub配置2.执行生效命令和重启Ubuntu的网卡名修改 配置网络接口网络接口配置DHCP自动分配静态IP手动分配 网卡配置文件生效方法验证文件是否生效1.验证IP2.验证网关3.验证DNS VMware网卡…

深入探究神经网络的图像处理机制

深入探究神经网络的图像处理机制 前言1. 输入图像的初步处理2. 卷积层的作用3. 归一化与激活函数4. 下采样的深化5. 全局池化的影响6. 特征的融合与转换7. 上采样与图像重建8. 图像的生成与拼接9. 残差学习结语 前言 在人工智能的浪潮中,神经网络以其强大的数据处理…

R语言论文插图模板第7期—分组散点图

在之前的文章中,分享过R语言折线图的绘制模板: 柱状图的绘制模板: 本期再来分享一下散点图(分组)的绘制方法。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,…

蓝牙资讯|苹果研究无感触控技术,可控制苹果设备

苹果正在研究让织物具有触控功能的方法,目标是在更多的产品上嵌入控件或检测手势,而不仅仅是 Apple Watch 表带或 iPhone 手机壳。他们之前就已经开始研究如何把控件融入织物之中了。 最新的专利 " 织物传感设备 " 显示苹果正进一步推进这个…

OpenLayers3, 导出图片

文章目录 一、前言二、代码实现三、总结 一、前言 本文基于OpenLayers3&#xff0c;canvas转图片实现地图导出图片的功能。 二、代码实现 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"> <head><meta http-equiv"Content…

Stable Diffusion 3 Medium开源,创作自由一触即发!

前言 HyperAl超神经现已上线「ComfyUl Stable Diffusion3工作流在线教程」&#xff0c;已经为大家搭建好了环境&#xff0c;使用时无需输入任何命令&#xff0c;一键克隆即可启动。 该教程将Stable Diffusion3 Medium强大的文生图能力与ComfyUl直观、简洁的工作流强强结合&am…

Prettier+Vscode setting提高前端开发效率

文章目录 前言Prettier第一步&#xff1a;下载依赖&#xff08;团队合作&#xff09;或下载插件&#xff08;独立开发&#xff09;第二步&#xff1a;添加.prettierrc.json文件**以下是我使用的****配置规则** 第三步&#xff1a;添加.prettierignore文件**以下是我常用的****配…

1000人规模冗余设置

1000人规模冗余设置 步骤①&#xff1a;Vlan Trunk Eth-trunk 底层配置 #eth-trunk配置&#xff1a; sw1 &#xff1a; int eth-trunk 2 mode lacp-static trunkport gi 0/0/2 trunkport gi 0/0/3 sw2 &#xff1a; int eth-trunk 2 mode lacp-static trunkport gi 0/…

PythonStudio 控件使用常用方式(三十三)TMonthCalendar

PythonStudio是一个极强的开发Python的IDE工具&#xff0c;官网地址是&#xff1a;https://glsite.com/ &#xff0c;在官网可以下载最新版的PythonStudio&#xff0c;同时&#xff0c;在使用PythonStudio时&#xff0c;它也能及时为用户升到最新版本。它使用的是Delphi的控件&…