GDB界面调试CGDB快速上手

什么是 CGDB?

CGDB 是一个基于 GNU Debugger(GDB)的 Curses(字符用户界面)前端。它提供了一个类似于文本编辑器的界面,可以帮助用户更轻松地执行调试操作,而无需离开终端。

安装 CGDB

首先,您需要确保已经安装了 GDB。然后,您可以通过包管理器(例如,APT、Homebrew 等)来安装 CGDB。例如,在 Ubuntu 中,可以通过以下命令进行安装:

sudo apt-get install cgdb

启动 CGDB

要启动 CGDB,只需在终端中键入以下命令:

cgdb [executable]

其中,[executable] 是您要调试的可执行文件的路径。

cgdb调试操作

按下ESC键进入代码窗口,此时可以上下浏览代码,并且可以进行一系列的操作:

按键操作
空格键设置或者取消断点;
o查看代码所在的文件;
/ 或者 ?在代码中搜索字符串;
-缩小代码窗口;
+扩大代码窗口;
gg光标移动到文件头部;
GG光标移动到文件尾部;
ctrl + b代码向上翻一页;
ctrl + u代码向上翻半页;
ctrl + f代码向下翻一页;
ctrl + d代码向下翻半页;

按下i键回到调试窗口,进入调试模式,使用的调试指令与GDB几乎一样!

三分钟学会Linux环境下GDB调试C\C++代码,不会gdb命令的可以看看我这篇博客

首先我们准备一个示例代码

image-20240320132905610

编译后执行**cgdb ./a.out**,就会进入这个初始界面,嗯一下enter回车,就会上边显示代码,下面显示gdb指令区

image-20240320132929821

image-20240320133001675

在下一个断点在执行后就会如图所示,在代码区有一个绿色的箭头指向下一条执行的代码

image-20240320133046900

结论

CGDB 是一个功能强大的调试器,它为开发人员提供了一种更高效的调试代码的方式。通过本教程,您学会了如何安装、启动和使用 CGDB,并了解了一些基本操作和高级功能。希望这个教程对您有所帮助,让您能够更加轻松地进行 C 和 C++ 程序的调试工作。

GDB,并了解了一些基本操作和高级功能。希望这个教程对您有所帮助,让您能够更加轻松地进行 C 和 C++ 程序的调试工作。

通过不断地练习和探索,您将能够更熟练地使用 CGDB,并在开发过程中取得更快更准确的调试结果。祝您编码愉快!

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

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

相关文章

【鸿蒙HarmonyOS开发笔记】通知模块之发布进度条类型通知

概述 进度条通知也是常见的通知类型,主要应用于文件下载、事务处理进度显示。HarmonyOS提供了进度条模板,发布通知应用设置好进度条模板的属性值,如模板名、模板数据,通过通知子系统发送到通知栏显示。 目前系统模板仅支持进度条…

HarmonyOS定时器与定时任务

HarmonyOS 的 ArkTS 说白了 就是 TS和JS混合 加了一些新特性的语言 定时任务 就还是用 js代码就OK了 我们代码这样写 Entry Component struct Twox {build() {Row() {Column(){Button("触发定时任务").onClick(()>{setTimeout(()> {console.log(执行)},2000…

【毕设级项目】基于ESP8266的家庭灯光与火情智能监测系统——文末源码及PPT

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …

LoRa模块在野外科研与环境保护中的角色:科技守护自然之宝

随着科技的不断发展,LoRa(低功耗广域网)模块在野外科研与环境保护中正发挥着越来越重要的作用。其卓越的通信能力、低功耗特性以及良好的穿透能力,为科学家和环保人士提供了一种先进的技术手段,有助于更深入、更全面地…

MAC IntelliJ IDEA搭建Doris Fe

目录 版本信息 安装环境依赖 拉取源码 下载 Doris 编译依赖 修改系统最大文件句柄数 编译 Doris 配置 Debug 环境 生成 FE 代码 FE模块代码导入 配置 Debug FE 启动 FE 报错问题 版本信息 本次安装的doris版本信息为doris-2.1.0-rc11 IntelliJ IDEA 配置jdk17、m…

优雅的 Markdown

Markdown浅尝 一、勾选框 注意[]前后都要有空格 - [x] 干的漂亮 - [x] 吃饭 - [x] 写代码 - [ ] 睡觉 干的漂亮 吃饭 写代码 睡觉 二、列表 #无序列列表 * 换成 - 也行 * 你 * 你好 * 你好呀 - 你很好啊 你你好你好呀你很好啊 #有序列表 . 后面有个空格 1. 我 2. 是我 3.…

Spring MVC开发小练习

1. 加法计算器 需求:输入两个整数,计算和 约定前后端交互接口: 在开发项目前,根据需求先约定好前后端交互接口,双方按照接口文档进行开发,接口文档一旦写好,尽量不要轻易改变,如果…

python大学生健身爱好者交流网站flask-django-nodejs-php

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于python技术、django/flask框架、B/S机构、Mysql数据…

全面:vue.config.js 的完整配置

vue.config.js是Vue项目的配置文件,用于配置项目的构建、打包和开发环境等。 在Vue CLI 3.0之后,项目的配置文件从原来的build和config目录下的多个配置文件,合并成了一个vue.config.js文件。这个文件可以放在项目的根目录下,用于…

借还款管理神器,高效记录借还款信息,让财务明细不再遗漏

在快节奏的现代生活中,借还款管理成为我们日常财务处理的重要一环。无论是个人生活还是企业运营,都需要一个高效、准确、便捷的方式来记录和追踪借还款信息。传统的记账方式往往容易出错、繁琐且耗时,难以满足现代人的需求。现在,…

HarmonyOS应用开发实战 - Api9 拍照、拍视频、选择图片、选择视频、选择文件工具类

鸿蒙开发过程中,经常会进行系统调用,拍照、拍视频、选择图库图片、选择图库视频、选择文件。今天就给大家分享一个工具类。 1.话不多说,先展示样式 2.设计思路 根据官方提供的指南开发工具类,基础的拍照、拍视频、图库选照片、选…

【Python爬虫】将某网页中表格里的十六进制颜色值转换成十进制,再生成新表格

【需求】 在 https://www.cnblogs.com/heyang78/p/5712076.html 上有360种颜色及代码,但很遗憾没有十进制的RGB值,使用时需要自己转换一下,此过程依赖网络或计算器,颇为不便。因此,拟设计一爬虫将原有表格内容取出&am…

dynamic动态数据源编码切换数据源

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 dynamic特性 支持…

D盘满了怎么清理?3种操作方法快速释放空间!

“我平常使用电脑时,为了不让c盘压力太大,会将大部分文件都保存在d盘上,但是我的d盘用着用着就满了,有什么比较简单的d盘清理方法吗?请大家分享一下吧!” 在使用电脑的过程中,D盘作为重要的存储…

【网页实战项目设计】基于SSM的医院预约挂号系统

基于SSM的医院预约挂号系统 项目截图 开发环境与技术框架 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具&a…

数字乡村发展策略:科技引领农村实现跨越式发展

随着信息技术的迅猛发展和数字经济的崛起,数字乡村发展策略已经成为引领农村实现跨越式发展的重要手段。科技的力量正在深刻改变着传统农业的生产方式、农村的社会结构以及农民的生活方式,为农村经济发展注入了新的活力和动力。本文将从数字乡村的内涵、…

【机器学习】基于树种算法优化的BP神经网络分类预测(TSA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】树种优化算法(TSA)原理及实现 2.设计与实现 数据集: 多输入多输出:样本特征24,标签类别…

C语言项目:数组与函数实践:扫雷游戏

目录 目录: 1.扫雷游戏分析与设计 1.1扫雷游戏的功能说明: 1.1.1使用控制台实现经典扫雷的游戏 1.1.2游戏可以通过菜单实现继续玩或者退出游戏 1.1.3扫雷棋盘是9*9的格子 1.1.4默认随机布置10个雷 1.1.5 可以排查雷 2.扫雷游戏的代码实现 1.遇到的问题…

蓝桥杯练习题总结(二)dfs题、飞机降落、全球变暖

一、飞机降落 问题描述: N架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 个单位时间,即它最早可以于 1, 时刻开始降落,最晚可以于时刻开始降落。降落过程需要个…

【TB作品】MSP430,单片机,Proteus仿真,数字音乐盒,蜂鸣器音乐仿真

文章目录 题目要求如何根据简谱编曲仿真图代码介绍宏定义部分全局变量部分LCD 控制函数按键检测和处理函数蜂鸣器控制函数主函数部分 获取代码和仿真 题目要求 86 数字音乐盒的制作 1 设计要求 制作一个数字音乐盒,盒内存有3首乐曲,每首不少于30s。采用LCD显示乐曲信息, 开机时…