Linux基础开发工具--gdb的使用

ops/2025/3/28 17:40:22/

目录

安装准备:

1.  背景

2.  开始使用 

3.  做一个Linux第一个小程序-进度条 



安装准备:

对于gdb的学习使用,为了方便大家学习,我建议大家先安装一个cgdb进行学习,这样方便观察操作与学习gdb。

用以下命令来安装cgdb

 

1.  背景

1.   程序的发布方式有两种,debug模式和release模式。

2.  Linux gcc/g++出来的二进制程序,默认是release模式。

3.  要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项。

 

2.  开始使用 

list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。list/l 函数名:列出某个函数的源代码。
r或run:运行程序。


 或 next:单条执行。
或step:进入函数调用
break(b) 行号:在某一行设置断点


reak 函数名:在某个函数开头设置断点
nfo break :查看断点信息。


finish:执行到当前函数返回,然后停下来等待命令


rint(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数 

p 变量:打印变量值。


set var:修改变量的值


continue(或c):从当前位置开始连续而非单步执行程序,直到下一个节点
run(或r):从开始连续而非单步执行程序
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点


disable breakpoints:禁用断点


enable breakpoints:启用断点


info(或i) breakpoints:参看当前设置了哪些断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值


undisplay:取消对先前设置的那些变量的跟踪
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
nfo(i) locals:查看当前栈帧局部变量的值
quit:退出gdb 

补充:

 

 

3.  做一个Linux第一个小程序-进度条 

 

 

 


http://www.ppmy.cn/ops/167577.html

相关文章

NLP高频面试题(六)——decoder-only、encoder-only和encoder-decoder的区别与联系

一、基本概念与代表模型 1. Encoder-only 架构 Encoder-only 架构最具代表性的模型是 BERT。BERT 使用 masked language modeling(MLM)进行预训练,即随机遮蔽部分输入词汇,让模型预测被遮蔽的词汇。由于这种架构能够同时看到输入…

优选算法合集————双指针(专题四)

1,一维前缀和模版 题目描述: 描述 给定一个长度为n的数组a1,a2,....ana1​,a2​,....an​. 接下来有q次查询, 每次查询有两个参数l, r. 对于每个询问, 请输出alal1....aral​al1​....ar​ 输入描述: 第一行包含两个整数n和q. 第二行…

鸿蒙HarmonyOS Next练手学习项目购物车功能,联动全选反选、数量总计

点击商品,进行勾选商品。商品列表全部点击,全选状态为已选择,点击取消某个商品,全选状态反选。删除某个商品还没有开发,练手的小功能,记录一下 import ShopCarEntity from ./ShopCarEntityEntry Component…

KMP-子串匹配算法-关键点理解

1.理解next[]数组的使用与来历 2.求解next[]数组 一、kmp算法的原理 首先观察暴力解法:假设主串为:abdxxabc,模式串为abxxabd。 暴力解法,就是对主串每个字符作为第一个字符,开始和模式串比较。 比如:从…

人工智能之数学基础:线性方程组求解的得力助手——增广矩阵

本文重点 增广矩阵是一个极具实用价值的工具,尤其在处理线性方程组时,它展现了卓越的功效。通过整合系数和常数项,增广矩阵简化了计算过程并提供了判断方程组解集的有效方法。 增广矩阵的起源与定义 增广矩阵的概念源于线性方程组求解的需求。在解决线性方程组时,我们常…

oracle 索引

Oracle 数据库中的索引是优化查询性能的重要工具,其类型多样,适用于不同场景。以下是 Oracle 索引的主要分类及特点: 1.B-Tree 索引(平衡树索引) 特点: 默认索引类型,树形结构(根、…

前端技巧:精准判断登录设备是移动端还是 PC 端

前端技巧:精准判断登录设备是移动端还是PC端 在前端开发过程中,判断用户的登录设备究竟是移动端还是PC端,这一需求极为常见。比如,为了给用户提供更适配的页面布局和交互体验,我们就需要知晓设备类型。下面就为大家详…

aws训练快速入门教程

AWS 相关核心概念 简洁地介绍一下AWS训练云服务的核心关联概念: AWS核心服务层: 基础设施层: EC2(计算), S3(存储), RDS(数据库)等人工智能层: SageMaker(训练平台), AI服务等 机器学习服务分级: 高层: 预构建AI服务(开箱即用)中层: SageMaker(主要训练平台)底层: 框架和基…