安装和设置
sudo apt-get install ddd 安装ddd
sudo apt-get install xterm 画图软件
sudo apt-get install gnuplot 另外一个画图软件
代码中最好不要有中文,不然显示乱码,且调试时断点等位置会显示不正确。
我有中文直接无法显示完整代码了(解决办法看后面)
设置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的值
总结
1. 由上可见,ddd功能十分强大,可以好好利用;
2. 它支持多种语言,并且支持GPU调试,即使它最后更新是2009年(因为它的设计十分巧妙,可以应对不断更新的gdb以及不同的调试器);
3. 温馨提示,代码中最好不要有中文,不然显示乱码,且调试时断点等位置会显示不正确。
————————————————
作者:星隐_18
链接:https://www.jianshu.com/p/5d521d0cf633
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
使用
用法和gdb类似
ddd ns
b OLSR.cc:1199
r olsr.tcl
然后就进入gdb调试了
将包含中文的代码全部清空中文
去除文本中的所有中文
1.将文本导入word中
2.点击替换,选择更多,使用通配符,输入[!1-127],点击全部替换即可。