Linux入门——04 gbd git

2024-08-22 04:04
文章标签 linux 04 gbd git 入门

本文主要是介绍Linux入门——04 gbd git,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 "写你邮箱"

然后就可以上传了!

这篇关于Linux入门——04 gbd git的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095188

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta