当前位置: 首页 > news >正文

Linux之基础开发工具gdb调试器的使用(三)

文章目录

  • 一、Linux调试器-gdb使用
    • 1、安装gdb
    • 2、背景
    • 3、Debug和release
    • 4、区分Debug和release
  • 二、Linux调试器-gdb命令演示
    • 1、显示指定行之后的代码(自动记录最后一条指令)
    • 2、断点
      • 1、打印断点
      • 2、查看断点
      • 3、删除断点
      • 4、使能(禁用/开启)断点
    • 3、直接运行结束
    • 4、逐过程(f10)、逐语句(f11)
    • 5、显示内容
    • 6、范围查找
    • 7、查看调用堆栈
  • 总结


一、Linux调试器-gdb使用

1、安装gdb

yum install -y gdb

在这里插入图片描述
在这里插入图片描述

2、背景

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

release模式下的gdb演示,无法调试

在这里插入图片描述

加上 -g 选项,显然成功

在这里插入图片描述
在这里插入图片描述

3、Debug和release

Debug形成的可执行程序会给我们增加调试信息,内存变大,而release形成的可执行程序会给我们去掉调试信息,内存变小。
而用户不需要调试信息,他们需要更快的下载和安装,所以有了Dubug和release两个版本

4、区分Debug和release

release下的可执行程序

在这里插入图片描述>Debug下的可执行程序

在这里插入图片描述

最直观区分

在这里插入图片描述


二、Linux调试器-gdb命令演示

1、显示指定行之后的代码(自动记录最后一条指令)

想显示更多代码需 l+行号 然后一直回车
在这里插入图片描述

2、断点

1、打印断点

打印断点一共三种方式,接下来一一介绍。

b+行号

在这里插入图片描述

b+函数名+行号
在这里插入图片描述

b+文件名+行号(适用于多文件下)

在这里插入图片描述

2、查看断点

在这里插入图片描述

3、删除断点

注意在删除断点中,显示的是编号,而不是行号。
在这里插入图片描述

4、使能(禁用/开启)断点

禁用

在这里插入图片描述

开启

在这里插入图片描述

3、直接运行结束

在这里插入图片描述

4、逐过程(f10)、逐语句(f11)

逐过程

在这里插入图片描述

逐语句

在这里插入图片描述

5、显示内容

只显示一次

在这里插入图片描述

常显示

在这里插入图片描述

取消常显示

在这里插入图片描述

6、范围查找

切换下一个断点

在这里插入图片描述

将函数运行结束

在这里插入图片描述

在一个指定范围内,运行到指定行

在这里插入图片描述

7、查看调用堆栈

在这里插入图片描述


总结

在这里插入图片描述

在这里插入图片描述

相关文章:

Linux之基础开发工具gdb调试器的使用(三)

文章目录 一、Linux调试器-gdb使用1、安装gdb2、背景3、Debug和release4、区分Debug和release 二、Linux调试器-gdb命令演示1、显示指定行之后的代码(自动记录最后一条指令)2、断点1、打印断点2、查看断点3、删除断点4、使能(禁用/开启&#…...

advanced-css: No.1

本套教程学习来自视频&#xff1a;https://www.bilibili.com/video/BV1n94y1o7yS/?p7&spm_id_frompageDriver&vd_sourceb79be8283df9418cb45941cc0bd583c6 案例 实现效果图 代码 HTML: <!DOCTYPE html> <html lang"en"><head><meta c…...

最新宝塔面板第三方云端站点程序源码/第三方宝塔面板PHP源码/全开源ThinkPHP框架

源码简介&#xff1a; 实现宝塔面板第三方云端站点程序源码,这个是第三方宝塔面板 btcloud PHP源码&#xff0c;它还有云端使用记录、IP黑白名单、定时任务等功能。 这是一个使用PHP开发的宝塔面板第三方云端站点程序。 您可以利用此程序搭建属于自己的宝塔面板第三方云端&a…...

【Unity之UI编程】玩法面板的实现

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;UI_…...

栈和队列:栈

栈的概念&#xff1a; 栈&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。 栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。…...

由浅入深学习统计学 - 常用统计图形学习

学习笔记 第一章- 信息图形化 图形化&#xff08;可视化&#xff09; 在一堆数据中&#xff0c;自己发现了这些数据的规律&#xff0c;但是无法表述给其他人知道&#xff0c;图形化就是便于他人理解数据的规律的展示的手段。 或者说我们也可以从统计的数据图形中发现某些没有…...

【java进阶】集合的三种遍历(迭代器、增强for、Lambda)

目录 一、先谈集合&#xff1a; 二、单列集合的三种遍历方式 迭代器遍历 增强for遍历 Lambda表达式遍历 一、先谈集合&#xff1a; &#x1f525;那我们平常用for循环依赖下标遍历不行嘛&#xff0c;这就与集合的分类有关了。 集合的体系结构&#xff1a; collection是单…...

Qt实现动态桌面小精灵(含源码)

目录 一、设计思路 二、部分源码演示 三、源码地址 🌈write in front🌈 🧸大家好,我是三雷科技.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由三雷科技原创 CSDN首发🐒 如需转载还请通知⚠️ 📝个人主页:三雷科技🧸—CSDN博客 🎁欢…...

Qt 自定义分页控件

目录 前言1、功能描述2、代码实现2.1 ui文件2.1 头文件2.2 源码文件2.3 设计思路 4、示例5、总结 前言 在应用程序开发时经常会遇到数据分页的需求&#xff0c;每一页展示特定数量的数据&#xff0c;通过点击按钮翻页或者输入页码跳转到指定页。 本文介绍一个自定义分页控件&a…...

Java中的7大设计原则

在面向对象的设计过程中&#xff0c;首先需要考虑的是如何同时提高一个软件系统的可维护性和可复用性。这时&#xff0c;遵从面向对象的设计原则&#xff0c;可以在进行设计方案时减少错误设计的产生&#xff0c;从不同的角度提升一个软件结构的设计水平。 1、单一职责 一个类…...

Spring Cloud和Kubernetes + Spring Boot 用哪个?

Spring Cloud和Kubernetes Spring Boot都是用于构建微服务架构的解决方案&#xff0c;它们各有优势和不足&#xff0c;选择哪个更好取决于你的具体需求和上下文。 Spring Cloud是一个基于Spring Boot的微服务开发框架&#xff0c;它提供了一套完整的微服务解决方案&#xff0…...

web-worker 基本使用

Web Workers 是浏览器中的一项技术&#xff0c;它允许在独立的线程中运行 JavaScript 代码&#xff0c;从而避免主线程阻塞。这对于执行长时间运行的计算、处理大量数据或执行其他 CPU 密集型任务非常有用。下面是一个简单的使用 Web Workers 的示例&#xff0c;包括主线程和工…...

SpringBoot使用@PropertySource读取 properties 配置

SpringBoot使用PropertySource读取 properties 配置 properties配置文件 在resources文件夹下&#xff0c;新建一个文件 property-demo.properties&#xff0c; 示例如下&#xff1a; my.config.test.namewumy.config.test.id123配置的类 PropertySource 指定配置文件。 c…...

100天精通风控建模(原理+Python实现)——第5天:风控建模中数据标准化是什么?

风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。    之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模?    100天精通风控建模(原理+Python实现)——第2天:风控建模有什么目的?    100天精通风控建模(原理+Python实现…...

find和grep命令的简单使用

find和grep命令的简单使用 一、find例子--不同条件查找 二、grep正则表达式的简单说明例子--简单文本查找例子--结合管道进行查找 一、find find 命令在指定的目录下查找对应的文件。 find [path] [expression]● path 是要查找的目录路径&#xff0c;可以是一个目录或文件名…...

力扣:164. 最大间距(Python3)

题目&#xff1a; 给定一个无序的数组 nums&#xff0c;返回 数组在排序之后&#xff0c;相邻元素之间最大的差值 。如果数组元素个数小于 2&#xff0c;则返回 0 。 您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。 来源&#xff1a;力扣&#xff08;LeetC…...

游戏平台采集数据

首先&#xff0c;你需要在你的项目中添加Kotlin的网络库&#xff0c;例如OkHttp。你可以在你的build.gradle文件中添加以下依赖&#xff1a; dependencies {implementation com.squareup.okhttp3:okhttp:4.9.0 }然后&#xff0c;你可以使用以下代码来创建一个基本的网络爬虫&a…...

CSS让两个标签在同一行显示并自适应宽度

CSS让两个标签在同一行显示并自适应宽度 示例&#xff1a;svg 和 span 在同一行上并自适应宽度 使用 Flexbox 布局 HTML <div class"flex-container"><svg class"svg-icon" aria-hidden"true"><use :xlink:href"#icon-s…...

Leetcode154. Find Minimum in Rotated Sorted Array II

旋转数组找最小&#xff0c;这次值可以重复 不妨假设你已经做了上一题&#xff0c;题解 上一题的方法1肯定是用不了了&#xff0c;因为不再能完全分成2个不同的部分 所以我们沿着方法2走 如果 > n u m s [ r ] >nums[r] >nums[r]&#xff0c;我们依然可以找右半边 …...

【分析思路】测试数据分析思路

测试数据分析思路&#xff1a; 性能数据 对性能测试数据进行分析时&#xff0c;可以从以下几个维度进行比较&#xff1a; 响应时间&#xff08;Response Time&#xff09;&#xff1a;分析每一天的响应时间数据&#xff0c;可以查看系统在不同时间段的性能表现&#xff0c;是…...

别再谈OKR了!SITS2026重磅发布《AI原生团队动力学模型》:用3个动态参数替代KPI,实测交付周期压缩41%

第一章&#xff1a;SITS2026演讲&#xff1a;AI原生研发的文化变革 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场&#xff0c;来自全球37家头部科技企业的工程负责人共同指出&#xff1a;AI原生研发已不再仅是工具链升级&#xff0c;而是一场以“人机协同决…...

深入解析IceCMS开源源码:轻量高效,新手也能上手的内容管理系统

在开源CMS领域&#xff0c;各类系统层出不穷&#xff0c;有的功能庞杂难以驾驭&#xff0c;有的过于简易无法满足多样化需求&#xff0c;而IceCMS凭借轻量、高效、易拓展的特点&#xff0c;成为许多个人站长和中小企业搭建网站的优选。作为一款开源内容管理系统&#xff0c;其源…...

BR实用操作

文章目录B&R 4.3下载安装B&R 4.3下载开始安装安装结束注意点Upgrdate 安装注册授权Could not find Automation Runtime direcotry N3.34 报错B&R 修改模拟ip删除temp文件默认连接虚拟 onine修改ipBR冗余配置BR模拟配置BR模拟BR授权OPC UA开启和端口设置OPC UA上传配…...

从零到一:手把手教你用HBase Shell和Java API管理学生成绩表

从零到一&#xff1a;HBase Shell与Java API双视角构建学生成绩管理系统 1. 场景化教学&#xff1a;为什么选择HBase管理学生成绩&#xff1f; 在教育信息化快速发展的今天&#xff0c;传统的关系型数据库在处理海量学生成绩数据时逐渐暴露出性能瓶颈。某省级教育平台在2023年的…...

学习困难的情绪困扰解决方案是什么?

社交障碍的干预方法与学习效果关係分析 社交障碍不仅影响到学生的日常生活&#xff0c;也对他们的学习效果产生深远影响。有效的社交障碍干预方法可以帮助学生提升与同伴的互动能力&#xff0c;从而增加课堂参与感。通过心理辅导和实地训练&#xff0c;学生能够逐步克服内心的羞…...

收藏!逛遍AI论坛发现:京东AI岗薪资竟碾压多家大厂?小白/程序员必看

最近沉迷逛各类AI技术论坛&#xff0c;每天雷打不动翻几十个帖子&#xff0c;其中最吸引我的&#xff0c;就是程序员们分享的AI求职经验帖——尤其是那种薪资爆料、offer选择类的内容&#xff0c;既能看个热闹&#xff0c;更能摸清当下AI岗位的真实市场行情&#xff0c;比单纯看…...

BepInEx插件框架:5分钟掌握Unity游戏模组开发与注入技术

BepInEx插件框架&#xff1a;5分钟掌握Unity游戏模组开发与注入技术 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 如果你热爱Unity游戏并希望为它们添加自定义功能&#xff0c;B…...

沃德绿世界系统小程序开发指南

沃德绿世界系统小程序的开发涉及多个环节&#xff0c;包括需求分析、功能设计、技术实现和上线运营。以下是关键开发步骤&#xff1a;需求分析与规划 明确小程序的定位和目标用户群体&#xff0c;梳理核心功能模块&#xff0c;如会员管理、商品展示、订单处理、积分兑换等。制定…...

DVWA文件上传漏洞通关实录:从Low到High,手把手教你三种绕过姿势(附Burp Suite实战)

DVWA文件上传漏洞实战指南&#xff1a;从基础绕过到高级技巧 在Web安全领域&#xff0c;文件上传漏洞一直是最常见也最具破坏力的漏洞类型之一。DVWA&#xff08;Damn Vulnerable Web Application&#xff09;作为经典的漏洞练习平台&#xff0c;其文件上传模块设置了从低到高三…...

手把手教学:基于Wan2.2-I2V-A14B镜像,快速搭建你的AI视频生成服务

手把手教学&#xff1a;基于Wan2.2-I2V-A14B镜像&#xff0c;快速搭建你的AI视频生成服务 1. 准备工作&#xff1a;了解你的AI视频生成利器 Wan2.2-I2V-A14B是一款强大的文生视频模型&#xff0c;能够将文字描述转化为高质量视频内容。相比从零开始搭建环境&#xff0c;使用预…...