优秀的gdb图形化前端调试器

目前我自己最喜欢的还是 ddd 、 gdbgui 和 vim-vebugger插件或vimgdb插件 三种。

 

 

You could try using Insight a graphical front-end for gdb written by Red Hat Or if you use GNOME desktop environment, you can also try Nemiver.

kdbg is a graphical user interface to gdb, the GNU debugger.

ddd is a graphical front-end to gdb that is pretty nice. One of the down sides is a classic X interface, but I seem to recall it being pretty intuitive.

vim-vebugger 插件或 vimgdb 插件,也可以试试。

 

推荐使用 nemiver。insight 是 redhat 下的,ubuntu里没有更新。 ddd也不错。看自己喜好。

更推荐使用 gdb dashboard 或者 gdbgui,前者是对字符终端的重定向组合,后者是python实现的web方式的调试前端(我现在正在用的,在我的机器上,用chrome浏览器才能调式)。

https://github.com/cyrus-and/gdb-dashboard

https://github.com/cs01/gdbgui                   我现在正在用的(在我的机器上,用chrome浏览器才能调式)

https://github.com/snare/voltron                  这个可能比 gdb dashboard 还好

除了gdb dashboard之外,以下网址还提供了其它的front end(包括给gdb dashboard上色):

https://stackoverflow.com/questions/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/522192

 

 

 

Nemiver的安装:

基于Debian发行版,它的安装时非常直接简单,如下:

$ sudo apt-get install nemiver

在Fedora中安装如下:

$ sudo yum install nemiver 

在Arch Linux中安装如下:

$ sudo pacman -S nemiver 

Nemiver 是一款基于 GTK+ 的用于C/C++程序的图形化的独立调试器,它以GDB作为其后端。最令人赞赏的是其速度和稳定性,Nemiver是一个非常可靠,具备许多优点的调试工具。最令人欣慰的是,它能够很好地与GNOME环境像结合。

 

 

 

 

kdbg简单使用:

ubuntu下 直接 sudo apt-get install kdbg 即可安装.

若启动后出现 MNG error 11: Function is invalid at this point; chunk MHDR; subcode 0:0 错误, 那么就删除 /usr/share/kde4/apps/kdbg/icons/hicolor/22x22/actions/pulse.mng 这个文件就好了.

界面比较友好. 调试方法很简单:

1.首先g++ -g file.cpp 或  g++ --debug file.cpp  得到文件a.out 

2.运行Kdbg选择 File->Excutable 再选中a.out 这个文件,调试代码会自动载入.

3.鼠标点调试代码最左边点空白处,变红色则设置了断点,

4.按F5开始调试 F10单步 F6跳出 F7到鼠标 F8跟进。View->Locals可看变量数据。

 

 

 

ddd的问题之一:       (为什么我的 ddd 需要 root 权限才能显示源码,即便 sudo 也不能显示源码,只有 su 之后在root下才能显示源码?

运行DDD调试器时,出现卡死现象,看软件状态,发现"waiting until GDB gets ready"。 解决办法:

用vim编辑文件 ~/.ddd/init,  将   set extended-prompt not set\n\   这行 改成: set extended-prompt (gdb) \n\       问题解决。

 

1、gdb 调式子进程:

set follow-fork-mode child

2、gdb打印预定义的宏macro的方法:

必须同时使用以下几个编译选项才能打印:

-g:

Produce debugging information in the operating system's native format (stabs, COFF, XCOFF, or DWARF 2). GDB can work with this debugging information. On most systems that use stabs format, -g enables use of extra debugging information that only GDB can use; this extra information makes debugging work better in GDB but probably makes other debuggers crash or refuse to read the program. If you want to control for certain whether to generate the extra information, use -gstabs+, -gstabs, -gxcoff+, -gxcoff, or -gvms (see below).

-ggdb:

Produce debugging information for use by GDB. This means to use the most expressive format available (DWARF 2, stabs, or the native format if neither of those are supported), including GDB extensions if at all possible.

-gvmslevel:   (示例: -g3, 要打印macro,请使用 -g3

Request debugging information and also use level to specify how much information. The default level is 2. Level 0 produces no debug information at all. Thus, -g0 negates -g.

Level 3 includes extra information, such as all the macro definitions present in the program. Some debuggers support macro expansion when you use -g3.

然后在gdb中使用:

info macro YOUR_MACRO 或者 macro expand YOUR_MACRO

 查看相应的macro。

 

转载于:https://www.cnblogs.com/welhzh/p/7048777.html

Ubuntu下搭建开源STM32开发环境:Eclipse+GDB+OpenOCD全攻略 嵌入式开发中,交叉编译工具链是连接开发主机与目标硬件的核心桥梁,其原理是通过特定架构的编译器将源代码转换为目标芯片可执行的机器码。对于ARM Cortex-M系列微控制器,arm-none-eabi-gcc是广泛使用的开源工具链,它遵循EABI规范,确保代码在不同芯片间的兼容性。这套工具链的技术价值在于提供了从编译、链接到调试的完整开源解决方案,打破了商业IDE的封闭性,实现了开发环境的完全自主可控。在实际应用场景中,结合Eclipse IDE的图形化界面、GDB的强大调试能力OpenOCD的硬件连接层, 阅读详情

相关推荐

C++终端开发环境搭建:从编译器到调试器的完整工具链指南

在软件开发领域,构建系统与开发工具链是提升工程效率的核心。CMake作为现代C++项目的标准构建系统,通过声明式配置管理多平台编译,解决了传统Makefile在项目规模扩大时的维护难题。其技术价值在于实现跨平台构建的标准化,并能与持续集成流程无缝对接。结合语言服务器协议(LSP)如clangd,开发者能在终端编辑器中获得智能代码补全实时错误检查,大幅提升编码体验。这些工具在服务器部署、远程开发自动化脚本等场景中尤为重要,尤其适合需要轻量、高效、可控开发环境的C++项目。本文以CMakeLSP为核心,详

weixin_33816946的博客 367

ARM的GDB远程调试UIDDD与Insight)安装使用

远程调试UIDDD与Insight)安装使用\ARM的GDB

嵌入式开发工具链全解析:从编译器到调试器的实战指南

在嵌入式开发中,工具链的选型直接决定项目的成败,这与通用软件开发有着本质差异。交叉编译、链接脚本、调试接口、固件烧录等环节,每一步都紧密关联硬件资源约束。理解GCC、Arm Compiler等编译器的核心参数,掌握Makefile与CMake构建系统的演进逻辑,熟悉JTAG/SWD调试器及J-Link、ST-Link等工具的实际应用,是提升开发效率的关键。同时,通过优化等级、内存映射、ITM日志等调试技巧,可以有效应对程序异常与烧录故障。本文从工程实践出发,梳理嵌入式开发链路上各工具的分工与选型思路,帮助开

cuankuangzhong6373的博客 426

DebuGui - GDB UI:易于使用的GDB GUI-开源

该项目试图解决一个长期的难题,即缺少一个简单但功能强大的GDB GUI。 一种处理STL数据类型并易于扩展的方法。 要求:Python 2.7.x PySide(Qt python绑定:例如apt-get install python-pyside)

nemiver调试器的使用(GDB图形界面)

Nemiver 是一款基于 GTK+ 的用于C/C++程序的图形化的独立调试器,它以GDB作为其后端。最令人赞赏的是其速度稳定性,nemiver是一个非常可靠,具备许多优点的调试工具。 $ sudo apt-get install nemiver(安装是自动加载的。) 启动Nemiver的命令: $g++ -g [filename]//获得可调试文件。$nember a.out

liuhuiyan_2014的专栏 2474

使用Nemiver调试器调试C/C++程序

在本文中,我们将介绍如何使用Nemiver调试器来调试C/C++程序,并提供相应的源代码示例。总结起来,Nemiver是一个强大且易于使用的调试器,适用于CC++程序的调试。通过这些步骤,我们可以使用Nemiver调试器逐步执行程序并检查变量的值,以便找到错误并进行修复。调试器提供了一个交互式的环境,可以帮助我们更好地理解程序的执行过程,并解决潜在的问题。安装完成后,我们可以编写一个简单的C/C++程序,并将其用作调试的示例。在程序暂停时,可以使用界面底部的调试控制台来查看变量的值执行流程。

2301_79331421的博客 234

GDB常用命令与技巧(超好用的图形化gdbgui

目录 一、常用命令 二、调试脚本 三、图像界面 一、常用命令 命令 命令缩写 命令说明 list l 显示多行源代码 break b 设置断点 break if b if 当满足某个条件时停止 delete d 删除断点(包括watch 点),一般先使用info命令...

Likes的博客 2万+

Linux嵌入式 gdb VSCode图形化调试教程

文章目录介绍GDB简介交叉编译器的gdb 介绍 在学习单片机的时候我们可以通过集成式IDE 来进行调试,比如MDK、IAR 等。在嵌入 式linux 领域是否也可以进行调试呢?答案肯定是可以的,在嵌入式linux 领域我们最常用的就 是GDB 调试工具,通过GDB 来调试嵌入式C 程序。本章我们首先学习如何搭建嵌入式Linux 的GDB 调试环境,然后讲解如何使用GDB 工具调试C 程序。 GDB简介 gdb 工具是GNU 项目调试器,基于命令行。其他的调试器一样,我们可以使用gdb 来一 行行的运行程序

“逛丢一只鞋”的博客 6575

使用Nemiver调试器来调试 C/C++ 程序

使用Nemiver调试器来调试 C/C++ 程序 如果你读过我写的使用GDB命令行调试器调试C/C++程序,你就会明白一个调试器对一段C/C++程序来说有多么的重要有用。然而,如果一个像GDB这样的命令行对你而言听起来更像一个问题而不是一个解决方案的话,那么你也许会对Nemiver更感兴趣。Nemiver是一款基于 GTK+ 的用于C/C++程序的...

weixin_34235371的博客 319

linux 中调试器 gdb 的使用

1.基本命令 1)进入GDB  #gdb test   test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。 2)查看源码  (gdb) l   源码会进行行号提示。   如果需要查看在其他文件中定义的函数,在

freeking101的博客 6292

GDB调试器:从命令行到图形界面的效率革命

本文深入探讨GDB调试器从命令行到图形界面的演进,重点解析GDB基础命令、多线程/多进程调试技巧及可视化工具(如CGDBDDD)的应用。通过实战案例高级技巧,帮助开发者显著提升调试效率,掌握核心转储分析远程调试等高级功能。

w8x9y0z1的博客 68

C++开发工具链全解析:从IDE到调试器,构建高效编程环境

在软件开发领域,工具链是连接代码与最终产品的核心桥梁,直接影响开发效率软件质量。其原理在于通过一系列自动化工具,将源代码转化为可执行程序,并辅助开发者进行调试、测试与优化。对于C++这类复杂且高性能的语言,工具链的价值尤为突出,它不仅能提升编译速度、优化内存管理,还能通过静态分析预防潜在缺陷。在实际应用中,从集成开发环境(IDE)的选择到编译器的配置,再到调试工具的使用,每个环节都关乎项目的成败。本文聚焦于C++开发中的核心工具,深入探讨Visual Studio、VSCode等主流IDE的优劣,以及GC

weixin_34378969的博客 340

Visual Studio远程Linux开发:从环境搭建到图形化调试实战

在跨平台开发领域,集成开发环境(IDE)与远程开发工作流的结合,正成为提升工程效率的关键技术。其核心原理在于通过安全的网络协议(如SSH),将本地强大的代码编辑、智能感知图形化调试界面,与远程Linux服务器或容器环境中的原生编译工具链(如gcc/gdb)无缝连接。这种架构的技术价值在于实现了开发环境与部署环境的高度一致,有效避免了“在我机器上能运行”的经典问题,同时允许开发者利用本地熟悉的操作界面,驾驭远程强大的计算资源。典型的应用场景包括Linux后端服务开发、嵌入式系统编程以及需要复杂依赖管理的跨平

weixin_42554151的博客 295

BabelDOC:5 分钟跑通 PDF 论文翻译

你手里有一份英文论文,公式表格不少,想要一份读起来顺手的中文版。BabelDOC 是一个 PDF 文档翻译工具:先识别页面版式,再逐段翻译,最后重新排版输出新 PDF,公式表格在翻译过程中不会被拆散。 ## 🚀 快速上手:本地安装一步装好 门槛最低的方式是在线服务:Immersive Translate 的 BabelDOC 页面每月提供 1000 页免费翻译额度,上传即可用。 本地使用

gitblog_01037的博客 435

Fleet编辑器配置C++开发环境:轻量IDE的编译调试实战指南

C++作为高性能系统编程的核心语言,其开发环境配置是工程实践的基础环节。传统集成开发环境(IDE)通过集成编译器、构建工具调试器,为开发者提供了统一的代码编辑、构建调试体验,其核心价值在于提升复杂项目的开发效率与代码质量。在实际开发场景中,尤其是进行快速原型验证、代码审查或多语言项目切换时,轻量级编辑器因其启动迅速、资源占用低而展现出独特优势。JetBrains Fleet作为一款新兴的智能编辑器,继承了强大的代码洞察能力,并原生支持远程开发协作编辑。本文聚焦于如何在Fleet中配置完整的C++工具链

cojm55771的博客 451

学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍

C++游戏服务器开发常用工具介绍在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用。庄子有云,“吾生也有涯,而知也无涯,以有涯随无涯,殆已”。代入到项目开发中就是说,如果对知识点无差别的全面攻击,不仅会导致所学甚泛却无一深入的尴尬,也会占用太多的有效时间从而影响项目进度。作为一个C++游戏服务器开发者来说,我们时刻肩负着线上游...

stone15165的博客 6544

VSCode C++调试环境配置全解析:从launch.json基础到高级实战

调试是软件开发中定位修复问题的核心环节,其原理在于通过调试器控制程序执行流程、检查内存状态变量值。在C++开发中,一个高效的调试环境能极大提升问题排查效率与代码理解深度。Visual Studio Code凭借其轻量化强大的扩展生态,成为许多开发者的首选,而其调试能力的核心枢纽正是launch.json配置文件。掌握launch.json的配置,意味着能精准控制调试会话的启动方式、参数传递、环境变量及符号加载等关键环节,这对于处理复杂项目结构、多进程应用乃至远程调试场景具有重要技术价值。本文以**la

leonard61306500的专栏 364
上一篇: gdb revert, Go to previous line in gdb
下一篇: libx264 安卓编译
dielucui7698
博客等级 码龄10年 32粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值