DDD——让天下没有难调的程序
https://www.linuxidc.com/Linux/2016-11/137343.htm
DDD全称Data Display Debugger,当我第一次见到它时,它的界面着实让我吃了一惊,如此的简陋,如此的怪异,我甚至想立刻删了它,但是当我见识到它强大的功能时,我被深深的震撼了,如此的飘逸,如此的不羁,我的脑海中突然想到了一个词来形容它——犀利!
没错,就是这么犀利,它是gdb的最优图形化前端,它继承了gdb的所有功能,它还加入了数据结构可视化能力,什么一维二维栈数组,二叉三叉N叉树,DDD统统都能用图形显示出来。
小伙子,你还在为调试犯愁么,你还在为红黑树写了半天就是不对而沮丧么,如果你真的遇到了这样的问题,那么我想DDD一定适合你。
它含蓄深沉,它隽永内敛,它在百度上搜不到多少资料,它就是这么低调,这么孤寂,它等待着你去发现,去使用,去震撼这个世界,去拿起它的锋芒——傲视群雄!
DDD安装
嗯,说了这么多我想你一定累了,下面让我们来看看DDD的安装吧。 DDD可以从官网下载到。
下载解压我就不说了。在编译前先安装完依赖包,我的系统是CentOS 6.4,使用yum软件包管理器。
yum install openmotif.i686 ncurses-devel.i686 openmotif-devel.i686 gdb.i686
它当时开发时使用的gcc 3.x,现在大部分系统上都是gcc 4.4,不要告诉我你还在用零一年的机子。正因为这个缘故,必须修改一个地方才能编译成功,这也是官方推荐的修改方式。
编辑ddd/strclass.C文件,在头文件声明里加入#include <cstdio>
之后就很好办了,
./configure
make
sudo make install
安装完,运行命令ddd就可以打开了。
更改DDD字体
刚打开DDD界面你也许会这么想,这字体这么小,看来我需要把眼睛升级为钛合金的。
下面教大家设置DDD字体。DDD似乎无法识别/usr/share/fonts/内的各种系统字体,只能手动调节了。
yum install xorg-x11-apps-7.7-6.el6 xorg-x11-fonts-misc
这两个包必须安装,缺少前面的会导致DDD无法改变字体和大小,因为这个软件包里面有个工具叫xfontsel,这是DDD调节字体所必须的。缺少后面的就会导致DDD字体大小可调范围很小,因为只有两种大小让你选。
打开DDD字体选择页面,Edit => Preferences => Fonts,点一下Browse就会弹出xfontsel菜单,选择字体时fmly选fixed字体,ptSz开到230,只要更改这两项就可以了。你可以把Default Font、Variable Font之类的全改成这样的字体。然后重启DDD,世界瞬间变化了,字体够不够大?再将DDD全屏,怎么样,是不是从没有感觉到调试程序也是如此的痛快。
使用
DDD内嵌gdb,你可以在窗口下方使用gdb的所有功能。在窗口上方是数据结构可视化窗口。看下面俩图。
在变量上点右键都是功能菜单,Display一下就能把变量显示到数据显示区域了。要是对二维数组Display的话,整个数组就呈现一个矩阵显示出来,还能将数组转置显示,对二叉树Display的话会把当前节点显示出来,再在节点上Display就能把下一个节点显示出来,二叉树结点可以这样一个个的显示出来,不用再在纸上画了。犀利!太犀利了!
上几张图你们感受一下。(DDD至强之图放在最后一节)

你以为这就完了?
DDD实力证明它是宇宙最强调试器。看图! 
结语
DDD——让天下没有难调的程序
犀利!
DDD——让天下没有难调的程序的更多相关文章
- 规模、性能、弹性全面升级,让天下没有难用的 K8s
作者 | 汤志敏 阿里云容器服务开发负责人 Kubernetes 是云原生时代的基础设施.云上的分布式操作系统. 9 月 26 日云栖大会容器专场,在<拐点已至,云原生引领数字化转型升级> ...
- 听H3絮叨:何以让天下没有难用的流程
最近朋友圈.网站新闻铺天盖地是"让天下没有难用的流程",有人就要问了,H3 BPM何德何能,为BPM站台,让天下没有难用的流程? 这是一个关于"办公室空想"的故 ...
- H3 BPM让天下没有难用的流程之产品概述
一.产品简介 BPM(Business Process Management),是指根据业务环境的变化,推进人与人之间.人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具. H3 ...
- 阿里云资深技术专家黄省江:让天下没有难做的SaaS
导语:本文中,阿里云资深技术专家黄省江(花名禅笑)将聚焦“SaaS加速器——让天下没有难做的SaaS”,对伙伴来说,SaaS加速器帮助他们做好SaaS,卖好SaaS:对企业来说,SaaS加速器帮助他们 ...
- 阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS
2019年杭州·云栖大会顺利落幕,超过6万人次观展,200余位顶尖科学家分享了前沿技术.作为“阿里云不做SaaS”,坚持“被集成”战略的落地体现,阿里云SaaS加速器在云栖大会现场发布了SaaS加速器 ...
- 共享商业&技术红利,阿里云SaaS加速器让天下没有难做的SaaS
9月26日,阿里云在2019杭州云栖大会上发布了SaaS加速器3.0版“一云多端”多个应用平台,展示了阿里云给伙伴带来的多种商业和技术红利.阿里云SaaS加速器将帮助伙伴做好SaaS,卖好SaaS:帮 ...
- 看了这篇Dubbo RPC面试题,让天下没有难面的面试题!
前言: RPC非常重要,很多人面试的时候都挂在了这个地方!你要是还不懂RPC是什么?他的基本原理是什么?你一定要把下边的内容记起来!好好研究一下!特别是文中给出的一张关于RPC的基本流程图,重点中 ...
- DDD学习笔录——简介DDD的战略模式如何塑造应用程序的架构
前一篇,简单介绍了DDD战略模式的提炼问题域,这篇简单介绍它如何塑造应用程序的架构. 1.创建一个模型以解决领域问题 为每一个子域构建一个软件模型以处理领域问题并让软件与业务保持一致. 这个模型并非现 ...
- transformjs:让天下没有难做的生意!不对,是特效!
写在前面 transform是css3新增的一个属性,可是令开发者费解的是,其内部又有大量的属性如旋转.缩放.扭曲.平移,这也就导致了获取或者是设置transform中一个或者多个属性变得异常麻烦. ...
随机推荐
- 转型、java基础之Java变量命名规范 (转载)
向上转型:基类引用指向导出类(派生类)的对象(实例)向下转型:导出类的引用指向基类的对象(实例) 重点:向下转型只有将该引用的导出类的向上转型后向下转型,运行时才不会报错 Java是一种区分字母的大 ...
- CSS属性,可以完成99%的页面编写
border: border:4px dotted red; 宽度 样式 颜色 solid(实线) border-style: -none: ...
- LeetCode 92 ——反转链表 II
1. 题目 2. 解答 我们需要先找到第 m 个结点及其上一个结点,然后将从 m 到 n 的结点进行反转,最后依次将 m 到 n 反转后的结点和 n 之后的结点放入原链表中即可. 从前往后依次遍历 m ...
- 基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结
基于Vue.web3的以太坊项目开发及交易内幕初探 本文通过宏观和微观两个层面窥探以太坊底层执行逻辑. 宏观层面描述创建并运行一个小型带钱包的发币APP的过程,微观层面是顺藤摸瓜从http api深入 ...
- gcc6.3编译c++11的程序链接opencv时字符型函数未定义
在Windows下编写图像处理程序,由于要使用regex,升级了mingw,编译c++11代码.之前代码中使用了opencv2.4.10,一直运行良好,升级编译器以后发现了错误:undefined r ...
- POJ 2761 Feed the dogs(平衡树or划分树or主席树)
Description Wind loves pretty dogs very much, and she has n pet dogs. So Jiajia has to feed the dogs ...
- 【转】hexo博客图片问题
1.首先确认_config.yml 中有 post_asset_folder:true. Hexo 提供了一种更方便管理 Asset 的设定:post_asset_folder 当您设置post_as ...
- [剑指Offer] 41.和为S的连续正数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- Hibernate对象状态
对象状态 瞬时(transient) 自己new出来的对象,数据库没有记录与之对应,与session也没有关联 持久(persistent) 数据库中有记录与之对应,当前与session有关联,相关的 ...
- 用Web Service实现客户端图片上传到网站
由于项目需要,通过本地客户端,把图片上传到网站.通过webservice. 这是客户端代码: private void btnimg_Click(object sender, EventArgs e) ...