首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏六点半就起来干博客!

    【Linux】gdb & cgdb — 基操

    ——————————————————— set + var :临时修改某个变量 条件断点: 已存在的断点,新增一个条件 用法:condition 断点编号 条件 condition 2 i==0 Cgdb

    35910编辑于 2025-08-06
  • 来自专栏Base_CDNKevin

    GDB 和 CGDB的使用及理解

    安装 CGDB 在 Linux 系统中,可以通过包管理工具安装 CGDB: # 在 Ubuntu 上 sudo apt-get install -y cgdb # 在 CentOS 上 sudo yum install -y cgdb 安装完成后,运行 cgdb 命令即可启动。 以下是 CGDB 的基本使用方法: 启动 CGDB 运行 CGDB 并加载程序: cgdb . 按 Ctrl + d:退出 CGDBCGDB 会在窗口上方显示代码,方便查看调试位置。 希望本文能帮助你更好地掌握 GDB 和 CGDB,提升调试效率。

    46021编辑于 2025-01-15
  • 来自专栏IOT物联网小镇

    比GDB更方便的代码调试工具:CGDB

    有 bug 的示例代码 GDB 调试操作 CGDB 调试操作 别人的经验,我们的阶梯! CGDB 是GDB的前端,在终端窗口中意图形化的形式来调试代码(基于ncurse),非常方便。 这篇文章就来分享一下CGDB的最基本使用方法,如果是第一次听说,强烈建议您体验一下,一定会爱上它的! /test (gdb) r // 直接全速执行一次 (gdb) r Starting program: /home/captain/demos_2022/cgdb/test test start. CGDB 调试操作 启动CGDB之后,终端窗口被评分为上下两部分:上面是代码窗口,下面是调试窗口。 小结: CGDB的操作过程,虽然我写的比较啰嗦,但是实际使用起来,真的是非常的丝滑,就像巧克力一样! ------ End ------

    2.1K40编辑于 2022-09-26
  • 来自专栏C++领域相关博客

    【Linux系统】第七节—git+cgdb(详解)

    【其他】 git log/status/pull .ignore 八、调试器 - gdb/cgdb使⽤ 8.1 样例代码 // mycmd.c #include <stdio.h> int Sum(int 上⾯的基本调试还是⿇烦,虽然是⿊屏,但是还是想看到代码调试 推荐安装cgdb Ubuntu: sudo apt-get install -y cgdb Centos: sudo yum install -y cgdb (2)【watch】 执行时监视⼀个表达式(如变量)的值。 新增: b ⾏号/⽂件名:⾏号/函数名 if i == 30(条件) 给已有断点追加:condition 2 i==30, 其中2是已有断点编号,没有if cgdb分屏操作按Esc进入代码界面,上下键可以翻动 ,按 i 回到cgdb界面

    23610编辑于 2025-05-22
  • 来自专栏c/c++/linux开发学习

    Linux调试器gdb和cgdb的使用【Ubuntu】

    for GNU/Linux 3.2.0, with debug_info, not stripped 三、常见使用 开始: gdb binFile 退出: ctrl + d 或 quit 调试命令 1、cgdb backtrace info/i locals 查看当前栈帧的局部变量值 info locals quit 退出GDB调试器 quit -断点(breakpoints) -行号(n) 四、常见技巧 1、 安装cgdb : • 上面的基本调试还是麻烦,虽然是黑屏,但是还是想看到代码调试 推荐安装cgdb: • Ubuntu: sudo apt-get install -y cgdb • Centos: sudo yum install -y cgdb 2、watch 执行时监视一个表达式(如变量)的值。

    54110编辑于 2025-03-04
  • 来自专栏学习之路

    【探索 GDB 和 CGDB】:强大的调试工具介绍

    引言 1.1 什么是GDB / CGDB? GDB(GNU Debugger)是 GNU 项目提供的一种调试工具,用于调试 C、C++ 和其他编程语言编写的程序。 CGDB 是 GDB 的一个前端,它提供了一个更为用户友好的命令行界面,结合了文本用户界面(TUI)和普通的命令行。CGDB 提供了更加直观的视图和界面,使得调试过程更为高效。 1.3 如何安装 -- 安装gdb/cgdb sudo yum install -y gdb sudo yum install -y cgdb -- 检查是否安装成功 gdb --version cgdb ,然后它会等待我们输入指令 cgdb test 或者 cgdb test l -- 行号显示 注:还可以查看指令文件,并且在输入指令之后,可以一直回车,就会显示该文件下的所有内容了 r -- 直接运行程序 CGDB 提升用户体验 CGDB 的图形化界面:CGDB 提供了一个基于终端的用户界面,可以在终端中以图形化的方式查看代码和调试信息。

    1.1K10编辑于 2024-10-15
  • 来自专栏爱可生开源社区

    技术分享 | 数据库源码学习调试利器之 CGDB

    CGDB 的运行依赖 GDB 环境,因此,在调试前必须先安装符合其版本要求的 GDB 简单来说,CGDB 是 GDB 的一个前端工具,通过提供更丰富的界面来增强 GDB 的用户体验。 下载源码包 git clone https://github.com/cgdb/cgdb.git -- 编译源码 cd cgdb . 执行 cgdb,进入调试界面。 示例 5:使用 cgdb -p 调试 与之前先进入 cgdb 调试台,再执行 attach [pid] 的方式并无区别,后者会在 cgdb/gdb 进程中显示 mysqld 进程号。 用 cgdb 修改 用 gdb 修改 7总结 本文简单介绍了 CGDB 及其基本使用方法。

    66110编辑于 2024-10-15
  • 来自专栏用户11956881的专栏

    【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通

    gcc -o $@ $^ -g 二、gdb/cgdb的使用 1. 启动,查看代码 开始使用gdb/cgdb调试,首先要确定系统里已安装gdb/cgdb,其次要调试的程序确定是debug版本的。 gdb 文件名 gdb和cgdb中,需要用各种指令完成调试过程的不同操作: 退出调试:ctrl + d或输入quit回车 使用gdb,一开始是看不到我们的代码的,要使用l相关命令: 输入(list)l: 因此cgdb诞生了,cgdb是gdb的前端界面增强版本,能够直接将代码显示在屏幕上面,初次之外其他命令操作没有区别: 后面我们就在cgdb中进行演示了。 2. n:单步逐过程执行,遇到函数时不进入函数内部 命令(step)s:单步逐语句执行,遇到函数时进入函数内部 命令(finish)f:执行到当前函数返回时 命令until 行号:执行到指定行号 gdb/cgdb display 变量:持续显示一个变量的值 命令undisplay 变量序号:取消对指定序号的变量的持续追踪显示 命令watch 变量:监视一个变量的值,如果该变量的值在程序运行期间发生变化,cgdb

    25210编辑于 2025-12-18
  • 来自专栏C++

    【Linux系统编程】(十)从入门到精通!Linux 调试器 gdb/cgdb 超全使用指南,程序员必备调试神器

    cgdb 作为 gdb 的增强版,更是解决了纯命令行调试看不到代码的痛点。本文将结合实战案例,从基础配置到高级技巧,全面拆解 gdb/cgdb 的使用方法,让你彻底掌握 Linux 下的调试精髓! 4.1 cgdb 安装 CentOS 系统: sudo yum install -y cgdb Ubuntu 系统: sudo apt-get install -y cgdb 4.2 cgdb 核心操作 cgdb 的命令与 gdb 完全一致,额外增加了分屏控制快捷键: 启动 cgdbcgdb 可执行程序名(示例:cgdb mycmd); 切换代码屏 / 命令行屏:按Esc键进入代码屏 4.3 cgdb 优势展示 启动 cgdb 后,界面分为上下两部分: 上半部分:实时显示源代码,当前执行行高亮显示; 下半部分:gdb 命令行,支持所有 gdb 命令。 实战体验: cgdb mycmd # 启动cgdb (cgdb) r # 运行程序 Starting program: /home/whb/test/mycmd I will begin Breakpoint

    36720编辑于 2026-01-14
  • 来自专栏生信技能树

    生信数据分析可靠与否是一个伪命题

    ] 1424 7 但是如果大家简单的搜索,就可以看到华中科技大学的一个在线数据库“《Circadian Gene DataBase》”,发表在Nucleic Acids Res. 2017:,CGDB ') cgdb=CRGs_gene genes<- list(genecards = genecards, cgdb = cgdb ) #输入数据需要是 #设定颜色:长度要与 /Venn.jpg') int=intersect(genecards,cgdb) symbols_list = list( int=int, only_genecards=setdiff( genecards,int), only_cgdb=setdiff(cgdb,int) ) lapply(symbols_list, length) 可以看到,两者之间的交集居然是就各自的十分之一不到 : $int [1] 166 $only_genecards [1] 1258 $only_cgdb [1] 1105 > lapply(symbols_list, head) $int [1]

    29210编辑于 2024-11-21
  • 来自专栏C++开发

    【Linux课程学习】:Linux的调试器-gdb的使用(常见指令,cgdb

    安装cgdbcgdb和gdb的指令相同,cgdb可以可视化源代码。 cgdb --version sudo yum install -y cgdb 基本环境 环境:CentOS 7.8 64bit 调试的本质:找到问题。

    63810编辑于 2024-12-09
  • 来自专栏学习

    深入了解Linux —— 调试程序

    gdb/cgdb的使用 这里,只有Debug模式的程序才能被调试;Release模式下不能被调试,因为缺少调试信息。 在使用之前可能需要进行安装 yum -install -y gdb yum -install -y cgdb 1. 进入调试 gdb 可执行程序 这里无论是gdb还是cgdb,都是可执行程序,对可执行程序进行调试。 可以看到这样就进入gdb调试了,但是gdb调试现在看不到我们的源代码。 2. 退出调试 quit 现在来看一下cgdb调试的界面 cgdb test 这样的界面看起来要比gdb好用一些,所以这里就以cgdb为例,来学习调试 cgdb中,屏幕上半部分可以看到一部分代码;其中绿色箭头指向的地方就是当前程序运行的位置 监视 在windows下我们通过监视窗口来查看一个变量的值; 而在linux的cgdb中,我们也可以通过指令来查看变量的值。

    56410编辑于 2025-03-10
  • 来自专栏学习

    Linux探秘坊-------6.gdb

    有的,兄弟有的: 安装cgdb: sudo yum install -y cgdb 1.行号,断点和断点查看 先使用cgdb+可执行程序名进入cgdb 上面是代码区 下面是debug区 指令罗列: b

    26100编辑于 2025-02-08
  • 来自专栏爱可生开源社区

    技术分享 | ClickHouse GDB 调试笔记

    GDB调试 GDB 不多介绍,不过个人更喜欢使用 CGDB ,使用 Yum 安装即可,我使用的 OS 版本是 CentOS7.9 。 打开 CGDB ,attach 到 Clickhouse 的 pid 上,在对应函数行打上断点,这里选择的是DB::SourceFromInputStream::generate(从栈帧中选择), CGDB 中需要配置忽略信号量,不然 CGDB 会一直断开。 CGDB 中按 c 继续,就会跳到 generate 函数上 接着就是慢慢n,打印参数,一步一步看代码流程。

    1.6K10发布于 2021-09-08
  • 【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试

    前言: 在Linux环境下进行C/C++开发,掌握编译器gcc/g++和调试器gdb/cgdb的使用是每个开发者必备的核心技能。 要使用gdb/cgdb调试,必须在源代码生成二进制程序的时候,加上 -g 选项,如果没有添加,程序无法被编译。 安装调试器 对于调试器的学习,我的建议是从 cgdb 入门 + 同步掌握 gdb 命令。因为gdb对于新手来说确实比较复杂一点,cgdb有类似 vim 的界面。 安装cgdb,可以切换root身份或使用sudo指令进行安装: yum install -y cgdb 示例代码 要进行调试,我们先准备一个简单的C程序: #include <stdio.h> int 同时,掌握gdb/cgdb的调试技巧,能够显著提升排查和修复代码问题的效率。

    25810编辑于 2026-01-13
  • 来自专栏技术分享

    【Linux篇】调试器-gdb/cgdb使用

    2.关于gdb 2.1 快速认识gdb 我们首先生成一个mycode可执行程序,然后进行gdb mycode就进入到gdb里面了 quit+回车就退出来了 2.2 安装cgdb cgdb和gdb本质上是一摸一样的 ,只不过cgdb能够把我们的代码动态呈现出来 • Ubuntu:sudo apt-get install -y cgdb • Centos:sudo yum install -y cgdb cgdb 的上面是我们的代码,下面是我们的调试信息:cgdb分屏操作Esc进入代码屏,i回到gdb屏 l mycode.c:1:从第一行开始显示 2.3 gdb命令 list:查看源代码 b+行号/b+文件名:+

    51710编辑于 2025-03-10
  • 来自专栏Linux

    《告别Bug!GDB/CGDB调试实战指南》

    f test 检查,当你的程序使用readelf -S 文件名 | grep debug查找到如下debug信息代表你生成dubug版本的二进制程序成功,该程序可以使用gdb进行调试 三、gdb/cgdb 的使用 GDB 与 CGDB 对比 特性 GDB(命令行调试器) CGDB(增强版GDB) 用户界面 纯命令行交互 分屏界面(代码窗口 + GDB 终端) 代码显示 需手动 list 查看代码 自动高亮显示源代码 backtrace info locals / i locals 查看当前栈帧的局部变量 info locals quit 退出GDB quit 以下是整理成 CSDN Markdown 表格格式 的 CGDB 调试命令速查表,包含 基础 GDB 命令 和 CGDB 专属快捷键,方便快速查阅: CGDB 调试命令速查表 分类 命令/快捷键 作用 示例/说明 通用指令 break / b 设置断点 b main # 安装CGDB gdb 可执行文件名,观察到如下场景即为我们的gdb调试器启动成功,那么接下来我们将在(gdb)命令行中输入调试命令进行我们程序的调试。

    29920编辑于 2025-12-20
  • 来自专栏数据和云

    TDSQL迁移,myloader:39626报错问题的排查与解决

    在导入完成后,有几个表出现如下报错: ** (myloader:39626): CRITICAL **: Error restoring cgdb.eval_rec_status from file cgdb.eval_rec_status.sql : Duplicate entry '0' for key 'PRIMARY' ** (myloader:39626): CRITICAL **: Error restoring cgdb.databasechangelog from file cgdb.databasechangelog.sql: Duplicate entry '0' for key 'PRIMARY' 与源环境进行了数据比对,发现以上报错的两个表在新环境下

    1.2K10发布于 2021-10-13
  • 来自专栏学习

    【Linux调试工具】gdb/cgdb

    每次调试一次都会显示这个值 删除常显示: undisplay 常显示编号 可以删除常显示的数据 如果指向观察一次某值一次可以用下面的命令: p 某值 在调试的过程中由于我们每次都要去手动显示代码,所以还有一个工具是cgdb 安装: sudo yum install -y cgdb 这个工具可以可视化显示代码: 这个工具可以把代码显示在上面,然后在下面的终端操作。 总结 通过本文对GDB和CGDB的介绍,可以看出,这两款工具在Linux开发环境中的重要性不言而喻。无论是传统的GDB,还是更加直观和友好的CGDB,它们都能帮助开发者高效地调试代码,定位问题。

    1K10编辑于 2024-10-12
  • 来自专栏C++

    Linux基础开发工具--gdb的使用

    安装准备: 对于gdb的学习使用,为了方便大家学习,我建议大家先安装一个cgdb进行学习,这样方便观察操作与学习gdb。 用以下命令来安装cgdb 1. 背景 1.

    33610编辑于 2025-03-21
领券