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

news2024/11/30 2:50:00

文章目录

  • 四、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 + 变量名 + 值:修改一个变量的内容。


未完待续

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

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

相关文章

机器学习笔记 - 用于3D数据分类、分割的Point Net的网络实现

上一篇,我们大致了解了Point Net的原理,这里我们要进行一下实现。 机器学习笔记 - 用于3D数据分类、分割的Point Net简述-CSDN博客文章浏览阅读3次。在本文中,我们将了解Point Net,目前,处理图像数据的方法有很多。从传统的计算机视觉方法到使用卷积神经网络到Transforme…

Swift 中更现代化的调试日志系统趣谈(一)

概述 昨天凌晨苹果刚刚发布了 WWDC2024 一系列新视频,这标志着苹果开发的一只脚已迈入人工智能(Apple Intelligence)的崭新时代。即便如此,我相信不少秃头码农们还在使用一些“远古简陋”的调试方法来剖析 2142 年的代码。 不过别担心,这一切将在小伙伴们学完本系列博文后…

Redis的一点入门了解

Redis NoSql概述 1、单机MySQL的时代 90年代,一个网站的访问量一般不会太大,单个数据库完全足够应付,技术上更多的会去使用静态页面html,对此服务器压根没多少压力; 但即使在这样的情况下,也会存在着一些…

doc 和 docx 文件的区别

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

几行代码实现多对多网格视图

当我们希望实现如下图所示效果如何实现呢: 我们可以使用Vis.js,vis.js Vis Network Examples Vis.js 是一个支持多种网络可视化的库,使用简单,功能强大。 以下是具体实现例子 不带箭头的: <!DOCTYPE html> <html> <head><meta charset="utf…

Windows 系统下 JDK 1.8 与 17 版本的相互切换

目录 一、当前本机已安装的 JDK 版本&#xff1a;1.8 二、下载 JDK 17 三、修改系统配置&#xff0c;将 JDK 版本切换为 17 1、新建 JAVA17_HOME 2、编辑 Path 3、验证是否切换成功 4、之后想再切换成 JDK 1.8 一、当前本机已安装的 JDK 版本&#xff1a;1.8 二、下载 J…

pyecharts画水球图

水波图图是一种适合于展现单个百分比数据的图表类型 from pyecharts.charts import Grid,Liquid from pyecharts.commons.utils import JsCodel1 (Liquid()#设置数据系列名称及数据.add("lq",[0.7,0.6,0.25],center["60%","50%"],color[blue,ye…

图像处理与视觉感知复习--空间域图像增强

文章目录 图像增强直方图空间滤波器 图像增强 图像增强 { 处理方法 { 空间域方法 { 点处理 ( 变换 ) 模板处理 ( 滤波 ) 频域方法 处理策略 { 全局处理 局部处理 处理对象 { 灰度图像 彩色图像 图像增强 \begin{cases} 处理方法 \begin{cases} 空间域方法 \begin{cases} 点处理…

Hadoop 2.0:主流开源云架构(三)

目录 四、Hadoop 2.0体系架构&#xff08;一&#xff09;Hadoop 2.0公共组件Common&#xff08;二&#xff09;分布式文件系统HDFS&#xff08;三&#xff09;分布式操作系统Yarn&#xff08;四&#xff09;Hadoop 2.0安全机制简介 四、Hadoop 2.0体系架构 &#xff08;一&…

查分易分班查询系统怎么做?

分班查询一直是让许多老师头疼的问题。一到开学季&#xff0c;办公桌上就堆满了学生的资料和分班表。要将这些信息一一录入系统&#xff0c;然后发布给学生和家长极其浪费时间和精力&#xff0c;而且很容易出错。每当分班结果公布时&#xff0c;家长和学生急切地想要知道自己的…

第20篇 Intel FPGA Monitor Program的使用<三>

Q&#xff1a;如何用Intel FPGA Monitor Program创建汇编语言工程呢&#xff1f; A&#xff1a;我们用一个Nios II汇编语言简易应用程序来发掘Intel Monitor FPGA Program软件的一些功能特性&#xff0c;并介绍创建工程的基本步骤。该程序可以实现找到存储在存储器中的32位整…

「51媒体-年中大促」天津有哪些媒体资源-媒体宣传服务公司

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 天津的媒体资源相当丰富&#xff0c;涵盖了报纸、电视、广播、新闻门户网站、央媒驻天津机构、视频媒体以及全国媒体资源等多个方面。以下是详细的媒体资源分类和具体信息&#xff1a; 一…

Excel 多列组合内容循环展开

某表格 A 列是编号&#xff0c;其他列是用逗号分隔的意义不同的分类列 ABCDEFG1Assembly#ProductTypeUnit ConfigNominal CapacitySupply VoltageGenerationCase Construction23H1012290001CMD,P24,36FAA,B33H1012290002CMD,P48,60FA,BA,B43H1012290003CMD,P24,36B,C,D,EAA,B …

Windows外接显示屏显示无信号

我的电脑症状比较特别&#xff0c;启动后可以连接外接显示屏&#xff0c;一旦睡眠重新唤醒就会断联 显示器显示无信号&#xff0c;笔记本显示设置里只有自带显示器的信息 试了重启显示屏、重新插拔HDMI线、重新换端口都不行 最后解决方法&#xff1a; 属性-设备管理器-显示…

Mysql中使用where 1=1有什么问题吗

昨天偶然看见一篇文章&#xff0c;提到说如果在mysql查询语句中&#xff0c;使用where 11会有性能问题&#xff1f;&#xff1f; 这着实把我吸引了&#xff0c;因为我项目中就有不少同事&#xff0c;包括我自己也有这样写的。为了不给其他人挖坑&#xff0c;赶紧学习一下&…

国内“5大核心期刊”详细介绍

一、CSSCI CSSCI&#xff0c;中文社会科学引文索引&#xff0c;由南京大学自主研发的人文社会科学引文索引数据库&#xff0c;旨在服务于人文社会科学领域的知识创新、前沿研判、综合评价&#xff0c;提升中文学术影响力。因为是南京大学研发的&#xff0c;又被称作是“南大核…

Github入门教程,适合新手学习(非常详细)

前言&#xff1a;本篇博客为手把手教学的 Github 代码管理教程&#xff0c;属于新手入门级别的难度。教程简单易操作&#xff0c;能够基本满足读者朋友日常项目寄托于 Github 平台上进行代码管理的需求。Git 与 Github 是一名合格程序员 coder 必定会接触到的工具与平台&#x…

Java优雅统计耗时【工具类】

任务耗时如何优雅的打印&#xff0c;看完本文你就明白了&#xff01;~ import cn.hutool.core.date.StopWatch; import cn.hutool.core.lang.Console;/*** 优雅打印出任务耗时*/ public class Main {public static void main(String[] args) throws Exception{StopWatch stopW…

Kali中安装和使用docker的学习笔记

一、常见命令 ctrl 、shift、 &#xff1a; 窗口变大&#xff1b; ctrl 、- &#xff1a;窗口变小&#xff1b; ctrl L&#xff1a; 清屏 &#xff1b; sudo su : 切换root 用户&#xff1b; ip addr / ifconfig: 获取IP地址&#xff1b; systemctl start ssh…

【报错】无法找到模块“element-plus/es/locale/index.mjs”的声明文件。

报错&#xff1a; 无法找到模块“element-plus/es/locale/index.mjs”的声明文件。“E:/codeAll/work/test1/test2/HealinLikeMe-ui/node_modules/.pnpm/element-plus2.7.3_vue3.4.27_typescript5.4.5_/node_modules/element-plus/es/locale/index.mjs”隐式拥有 "any&quo…