【Linux】调试工具gdb:初识

前言

今天来记录并学习一下gdb的使用

背景

  • 程序的发布方式有两种,debug模式和release模式
  • Linux gcc/g++出来的二进制程序,默认是release模式
  • 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项

使用

gdb FileName
退出: ctrl + d 或 quit 调试命令

  • list/l 行号:显示FileName源代码,接着上次的位置往下列,每次列10行。
  • list/l 函数名:列出某个函数的源代码。
  • r或run:运行程序。
  • n 或 next:单条执行。
  • s或step:进入函数调用
  • break(b) 行号:在某一行设置断点
  • break 函数名:在某个函数开头设置断点
  • info break(i b) :查看断点信息
  • finish:执行到当前函数返回,然后停下来等待命令
  • print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数
  • p 变量:打印变量值。
  • set var:修改变量的值
  • continue(或c):从当前位置开始连续而非单步执行程序
  • run(或r):从开始连续而非单步执行程序
  • delete(d) n:删除序号为n的断点
  • disable n:禁用断点
  • enable n:启用断点
  • info(或i) breakpoints:参看当前设置了哪些断点
  • display 变量名:跟踪查看一个变量,每次停下来都显示它的值
  • undisplay n:取消对先前设置的那些变量的跟踪
  • until X行号:跳至X行
  • breaktrace(或bt):查看各级函数调用及参数
  • info(i) locals:查看当前栈帧局部变量的值
  • quit:退出gdb
  • next(n):逐过程
  • step(s):逐语句

在这里插入图片描述

结语

到这里就结束了 希望对你有帮助

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

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

相关文章

Pr下载安装(视频剪辑软件Pr安装包下载2024)

Adobe全家桶下载方式 AE下载 PR下载 将持续更新~ 文章目录 Adobe全家桶下载方式PR下载方式【点我获取下载链接】一、Pr简介二、链接内容包含1.PR软件2.PR教学课程 声明 PR下载方式【点我获取下载链接】 迅雷下载:迅雷下载方式百度网盘下载:百度网盘下…

效果炸裂!OpenAI首个视频生成模型发布,1分钟流畅高清,网友:整个行业RIP

刚刚,奥特曼发布OpenAI首个视频生成模型Sora。 完美继承DALLE 3的画质和遵循指令能力,能生成长达1分钟的高清视频。 AI想象中的龙年春节,红旗招展人山人海。 有紧跟舞龙队伍抬头好奇官网的儿童,还有不少人掏出手机边跟边拍&…

109 C++ 理解auto 类型推断,auto 应用场合

一。auto 类型推断 auto 用于变量的自动推断,原理是--在声明变量的时候,根据变量的初始值的类型,自动为此变量选择匹配的类型,而不需要我们显示指定类型 特点:1.auto 的类型推断是发生在编译期间的,所以不…

java 调用智谱ai 大模型的完整步骤(国内的 AI 大模型 对话)

要使用java 调用智谱AI的API进行异步调用,您需要遵循以下步骤: 1. **获取API密钥**: - 您需要从智谱AI平台获取一个API密钥(API Key),这个密钥将用于所有API请求的身份验证。 2. **SDK源…

【MySQL/Redis】如何实现缓存一致

目录 不实用的方案 1. 先写 MySQL , 再写 Redis 2. 先写 Redis , 再写MySQL 3. 先删 Redis,再写 MySQL 实用的方案 1. 先删 Redis,再写 MySQL, 再删 Redis 2. 先写 MySQL , 再删 Redis 3. 先写MySQL,通过BinLog&#xff0…

傅里叶变换(Fourier Transform)简介

目录 1.什么是傅里叶变换2.应用场景开源的语音识别软件1.什么是傅里叶变换 傅里叶变换(Fourier Transform)是一种在数学、物理和工程等领域中广泛使用的数学变换。它是信号处理中的基础工具,用于将一个函数或信号从时域(或空间域)转换到频域。 傅里叶变换的基本思想是,…

ClickHouse--10--临时表、视图、向表中导入导出数据

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 3.向表中导入导出数据3.1 案例 1.临时表 1.1 特征 ClickHouse 支持临时表,临时表…

智能汽车行业产业研究报告:毫米波雷达优势明显,核心壁垒是芯片、天线阵列、波形设计

今天分享的是智能汽车系列深度研究报告:《智能汽车行业产业研究报告:毫米波雷达优势明显,核心壁垒是芯片、天线阵列、波形设计》。 (报告出品方:国泰君安证券) 报告共计:67页 毫米波雷达被广泛…

Flume(二)【Flume 进阶使用】

前言 学数仓的时候发现 flume 落了一点,赶紧补齐。 1、Flume 事务 Source 在往 Channel 发送数据之前会开启一个 Put 事务: doPut:将批量数据写入临时缓冲区 putList(当 source 中的数据达到 batchsize 或者 超过特定的时间就会…

【前端web入门第六天】01 CSS浮动

⭐️第六天目标 解决布局问题如多个div标签在同一行的问题 简单来说,就是可以两个标签,一个在左边,另一个在右边. 👉相关知识 标准流浮动flex布局❗️ ❗️ ❗️ 标准流是先导,浮动和flex布局都可以解决问题,但是浮动在目标开发领域较为落后,主流的解决办法是flex…

OpenCV Mat实例详解 一

OpenCV中的Mat是一个类,它用存储图像信息。由两部分数据组成:矩阵头和像素值矩阵。矩阵头包含矩阵尺寸、存储方法、存储地址等信息,而像素值矩阵则存储实际的像素值数据。 Mat类在OpenCV中有十分重要的作用,图像信息的载入、保存、…

Java 中 一些常见的并发集合类

什么是并发集合?列举一些常见的并发集合类 并发集合是一种特殊的数据结构,它允许多个线程安全地访问和修改。在多线程编程的场景下,只有使用并发集合才能确保线程安全,避免多个线程在对同一个数据结构进行并发操作时引发的竞态条…

UI设计常见风格(1):一文读懂九个,教你如何辨识。

Hello,我是大千UI工场,设计风格是我们新开辟的栏目,上次讲了毛玻璃风格、辨识方法、应用场景、运用方法等,很受大家欢迎,本次带来常见的风格及辨识,让大家有个总览,以后会逐个讲解的&#xff0c…

【Java】零基础蓝桥杯算法学习——动态规划例题

例题:2023年第十四届蓝桥杯Java软件开发B组E题 蜗牛 参考解答: 参考代码示例: import java.util.Scanner; public class Main {static int N 100010;static int[] arr new int[N];static int[] a new int[N]; //传送带的起始坐标static …

人工智能之数学基础【最小二乘法】

原理 最小二乘法由勒让德(A.M.Legendre)于1805年在其著作《计算彗星轨道的新方法》中提出,主要思想是最小化误差二次方和寻找数据的最佳匹配函数,利用最小二乘法求解未知参数,使得理论值与观测值之差(即误差,或称为残差)的二次方和达到最小,即: E = ∑ i = 1 n ϵ …

【实战】一、Jest 前端自动化测试框架基础入门(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(一)

文章目录 一、前端要学的测试课1.前端要学的测试2.前端工程化的一部分3.前端自动化测试的例子4.前端为什么需要自动化测试?5.课程涵盖内容6.前置技能7.学习收获 二、Jest 前端自动化测试框架基础入门1. 自动化测试背景及原理前端自动化测试产生的背景及原理 2.前端自…

开什么店最稳定轻松?适合一个人开的实体店推荐

在创业的道路上,很多人都希望找到一种稳定轻松的开店方式。 作为一名资深的鲜奶吧创业者,我将分享我的经验和见解,希望能给那些想开实体店的朋友们一些启示!! 我开鲜奶吧已经有 5 年时间了,目前经营的是鲜…

MySQL查询状态

MySQL查询状态 在一个查询周期中,MySQL任何时刻都有一个状态,该状态可能会变化很多次,可以使用show full processlist来进行查看 Sleep 线程正在等待客户端发送新的请求 Query 线程正在执行查询或者正在将结果发送给客户端 Locked 该线程正在…

MIT-BEVFusion系列八--onnx导出1 综述及相机网络导出

目录 综述export-camera.py加载模型加载数据生成需要导出成 onnx 的模块Backbone 模块VTransform 模块 生成 onnx使用 pytorch 原生的伪量化计算方法导出 camera.backbone.onnx导出 camera.vtransform.onnx 综述 bevfusion的各个部分的实现有着鲜明的特点,并且相互…

Harris关键点检测以及SAC-IA粗配准

一、Harris关键点检测 C #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/common/io.h> #include <pcl/keypoints/harris_3d.h> #include <pcl/visualization/pcl_visualizer.h> #include …