ddd 调试器使用

设置ddd字体

原始的ddd字体丑陋,像素化,需要设置合适的字体大小,点击Edit->Preferences->Fonts。然后看到不同设置。然后点击Browse,显示如下:


字体设置

点击图中的fmly,选择fixed(这是系统提示作者选fixed的,本人ubuntu系统,不同系统可能不同),然后点击ptSz,选择字体大小,我选的200,然后点击select保存即可。其他Browse都是类似设置。最后点击OK保存即可。

设置显示代码行号

行号是十分重要的信息,在调试时十分有用,可是默认没有显示,需要自己设置。点击Edit->Preferences->Source,然后选中Display Source Line Numbers即可。

ddd 图形化显示数据

ddd是一个借助与gdb的强大的图形化debug工具。它可以使得gdb是可视化的,不再是枯燥的命令行的形式。而且它支持数据的显示,包括列表和图的形式等。特别是图的形式,在进行debug时特别直观而有用。

gnuplot 的设置

由于ddd使用gnuplot画图,所以确认系统上安装了gnuplot,未安装的话则sudo apt-get install gnuplot即可。打开Edit->Preferences->Helpers可以看到Plot设置的选项,Plot Window选项为External或者Builtin。我选择的是External,不知道为何,选中Builtin时在画图时一直是显示Starting gnuplot的状态。这样就设置好了gnuplot。

在调试程序时画图

以作者调试的cuda程序为例。在进入kernel核函数后,有一个共享内存数组dest_data长度64,则可在如下输入"dest_data[0]@64",然后点击右边的plot,则可以显示dest_data的值


2021-03-20 00-29-56 的屏幕截图.png

这是对数据排序的程序,当程序运行到如下位置时,数据还未被赋予值:


未被赋值的数据

接着运行,可以发现数组被赋予了未排序的值:「
2021-03-20 00-36-03 的屏幕截图.png

运行到如下位置时,数据已经排序好:


排好序的数据

总结

  1. 由上可见,ddd功能十分强大,可以好好利用;
  2. 它支持多种语言,并且支持GPU调试,即使它最后更新是2009年(因为它的设计十分巧妙,可以应对不断更新的gdb以及不同的调试器);
  3. 温馨提示,代码中最好不要有中文,不然显示乱码,且调试时断点等位置会显示不正确。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。