Linux入门——04 gbd git

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

本文主要是介绍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

相关文章

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE