【Linux】Linux环境基础开发工具_6

文章目录

  • 四、Linux环境基础开发工具
    • gdb
  • 未完待续


四、Linux环境基础开发工具

gdb

我们已经可以写代码了,也能够执行代码了,但是代码错了该如何调试呢?Linux中可以使用 gdb 工具进行调试。
我们写一个简单的程序:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是我们尝试使用命令时,发现根本用不了,原因是 gcc/g++编译时默认的是 release 模式 ,而我们都知道,release 模式不可以调试,只有 debug 模式才能调试
那如何使其编译时使用 debug 模式呢?在末尾加上 -g 选项就可以使用 debug 模式
在这里插入图片描述
在这里插入图片描述

gdb 的基本调试指令(gdb 可以自动记录最近一次的命令):
l + 行号 :显示指定行之后的代码。
r :可以执行程序。
b + 行号:在指定行打断点。
b + 函数名:在函数入口处打断点。
b + 文件名 + :在某个文件程序内打断点,搭配上面使用。
info b:查看断点。
d + 断点编号:删除相应断点。
disable + 断点编号:禁用相应断点。
enable + 断点编号:启用相应断点。
n :逐过程(不进入函数内部)。
s :逐语句(进入函数内部)。
p + 变量名:显示变量的当前值(不是常显示)。
display + 变量名:显示变量的当前值(常显示)。
undisplay + 变量编号:取消 display 常显示的变量。
c :从一个断点运行程序到下一个断点。
bt :查看调用堆栈。
finish :将一个函数运行结束就停下来。
until + 行号:在一个范围内,直接运行到指定行。
set var + 变量名 + 值:修改一个变量的内容。


未完待续

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

智慧工地:构筑未来建筑的智能脉络

在科技日新月异的今天,智慧城市的建设已不再局限于城市生活的方方面面,而是深入到了城市发展的每一个细胞——工地。本文旨在深度剖析智慧工地的核心价值、关键技术及对建筑业转型升级的深远影响。 一、智慧工地:定义与愿景 智慧工地是指运…

【智能家居控制系统项目】一、项目系统镜像烧录与系统登录

前言 完成本章节将可以获得本项目的系统UI界面功能。本章节主要介绍如何烧录项目系统镜像以及进入系统。配套的视频介绍可以点击跳转到智能家居项目复刻配套视频 1.系统功能页面介绍 完成本章全部步骤,我们将可使用以下项目系统功能界面。 1.1 家居总览界面 主界面…

Zynq学习笔记--AXI4-Stream到视频输出IP是如何工作的?

目录 1. 简介 2. 原理详解 2.1 示例工程 2.2 AXI4-Stream to Video Out 3. Master/Slave Timing Mode 3.1 Slave Timing Mode 3.2 Master Timing Mode 4. 总结 1. 简介 本文主要介绍了 AXI4-Stream 到视频输出 的内容。其中,示例工程展示了一个具体的设计&…

八爪鱼现金流-023-独具特色的加密解决方案

大家一起来记账。 八爪鱼现金流。 独具特色的加密解决方案。金额数据加密后存储到数据库。 保证数据私密性。欢迎试用。 八爪鱼现金流。 点击【八爪鱼现金流-022-mybatis插件加密和国密SM4算法】文章查看详情。

MySQL从入门到高级 --- 15.优化 16.pymysql

文章目录 第十五章 && 第十六章:15.优化15.1 查询SQL执行效率15.2 定位低效率执行SQL15.3 explain分析执行计划 - 基本使用15.4 explain分析执行计划 - id15.5 explain分析执行计划 - select_type15.6 explain分析执行计划 - type15.7 explain分析执行计划 …

实验室管理系统实用性体现在哪些方面?

随着技术的不断进步和应用的不断深入,在当今的检验检测行业中,实验室管理系统的实用性成为了保证质量检测工作正常有效开展的基础,其重要性不言而喻。而实验室信息管理系统(LIMS)实用性不仅体现在其对实验室日常运作的…

项目实战--文档搜索引擎

在我们的学习过程中,会阅读很多的文档,例如jdk的API文档,但是在这样的大型文档中,如果没有搜索功能,我们是很难找到我们想查阅的内容的,于是我们可以实现一个搜索引擎来帮助我们阅读文档。 1. 实现思路 1…

ESP32基础应用之esp32连接腾讯云并使用微信小程序控制的智能灯

文章目录 1. 项目简介1.1 功能接收1.2 使用资源1.3 测试平台 2 腾讯云物联网开发平台3 esp32设备开发3.1 准备参考例程3.2 vscode平台创建测试工程3.3 修改工程 问题总结使用PowerShell命令行终端生成的二维码不能用 1. 项目简介 1.1 功能接收 实现腾讯云创建项目与设备&…

09-Spark架构

相比MapReduce僵化的Map与Reduce分阶段计算,Spark计算框架更有弹性和灵活性,运行性能更佳。 1 Spark的计算阶段 MapReduce一个应用一次只运行一个map和一个reduceSpark可根据应用复杂度,分割成更多的计算阶段(stage)…

怎么脚本ai创作?分享三个方法

怎么脚本ai创作?在数字化时代,AI技术正逐渐渗透到我们生活的方方面面,其中AI脚本创作软件的出现,极大地提高了创作效率,降低了创作门槛。今天,就为大家推荐三款备受好评的AI脚本创作软件,其中聪…

React-Redux

什么是Redux? Redux是React最常用的集中状态管理工具,类似于Vue中的Pinia(Vuex),可以独立于框架运行 作用:通过集中管理的方式管理应用的状态

定个小目标之刷LeetCode热题(19)

这是道简单题,直接用快慢指针,代码如下 public class Solution {public boolean hasCycle(ListNode head) {if (head null || head.next null) {return false;}ListNode slow head;ListNode fast head.next;while (slow ! fast) {//遇到null则retur…

java原子变量

在Java中,原子变量是一种特殊的变量,它们提供了一种不需要显式加锁的情况下进行线程安全的操作。Java.util.concurrent.atomic包提供了原子变量类,如AtomicInteger,AtomicLong等,它们利用底层硬件的原子操作来保证线程…

华三HCL模拟器安装及华三防火墙配置

0、前言 最近跟模拟器杠上了,主要是需要运行防火墙,目前已经成功模拟出华为、山石防火墙,而且模拟出来的设备能与物理网络环境进行互联。现在我又盯上华三防火墙了。 首先下载模拟器: 下载地址:H3C网络设备模拟器官方免…

小程序 UI 风格,清新脱俗

小程序 UI 风格,清新脱俗

电脑文件msvcr120.dll丢失怎样修复?具体的msvcr120.dll修复方法分享

电脑文件msvcr120.dll丢失是一种比较常见的现象,只要是经常使用电脑的人,那么遇到msvcr120.dll丢失的次数就越多,今天主要来给大家聊一下msvcr120.dll丢失的各种解决方法。 一.电脑文件msvcr120.dll msvcr120.dl是由Microsoft提供的关键系统…

vscode中模糊搜索和替换

文章目录 调出搜索(快捷键)使用正则(快捷键)替换(快捷键)案例假设给定文本如下目标1:查找所有函数名目标2:替换所有函数名为hello目标3:给url增加查询字符串参数 调出搜索…

分布式光纤测温DTS与红外热成像系统的主要区别是什么?

分布式光纤测温DTS和红外热成像系统在应用领域和工作原理上存在显著的区别,两者具有明显的差异性。红外热成像系统适用于表现扩散式发热、面式场景以及环境条件较好的情况下。它主要用于检测物体表面的温度,并且受到镜头遮挡或灰尘等因素的影响会导致失效…

IGMP Proxy

IGMP Proxy 如图左图所示,在一些简单的树形网络拓扑中,与用户网段相连的设备RouterB上并不需要运行复杂的组播路由协议(如PIM),而透传主机IGMP报文又会导致RouterA管理太多用户。当网络中存在大量成员主机或大量成员主…