Linux主流调试器是gdb,但它是纯命令行界面的,调试起来不方便,我需要更强大的力量。在试用了各种工具之后,我相信我找到了,是的没错,就是它——宇宙最强调试器——DDD。
DDD介绍
DDD全称Data Display Debugger,当我第一次见到它时,它的界面着实让我吃了一惊,如此的简陋,如此的怪异,我甚至想立刻删了它,但是当我见识到它强大的功能时,我被深深的震撼了,如此的飘逸,如此的不羁,我的脑海中突然想到了一个词来形容它——犀利!
没错,就是这么犀利,它是gdb的最优图形化前端,它继承了gdb的所有功能,它还加入了数据结构可视化能力,什么一维二维栈数组,二叉三叉N叉树,DDD统统都能用图形显示出来。
小伙子,你还在为调试犯愁么,你还在为红黑树写了半天就是不对而沮丧么,如果你真的遇到了这样的问题,那么我想DDD一定适合你。
它含蓄深沉,它隽永内敛,它在百度上搜不到多少资料,它就是这么低调,这么孤寂,它等待着你去发现,去使用,去震撼这个世界,去拿起它的锋芒——傲视群雄!
DDD安装
嗯,说了这么多我想你一定累了,下面让我们来看看DDD的安装吧。DDD可以从官网(https://www.gnu.org/software/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——让天下没有难调的程序。