2017-05-07 23 views
1

我正在学习如何为我的C/C++程序使用数据显示调试器(DDD)。 Help reference for DDD显示了一些示例输出,包括以下图形图表/图表示例。我试图重现这个练习,但是我很困难。它应该工作的方式是使用调试器选项编译cxxtest.c,而DDD工具实际上会在2D和3D两步调试会话期间绘制感兴趣的变量数组。哇,如果有效的话。如何重现此DDD测试?

DDD and graph/chart images

该cxxtest.c程序被包括在DDD repository,DDD-3.3.12.tar.gz。我试图编译和运行该程序,但我一直陷入困境。我无法弄清楚如何生成config.h文件,所以我可以链接必要的支持文件(例如bool.h)来编译cxxtest.c

我在DDD存储库中看到的文件,与配置有关:

  • 配置,信息
  • config.h.in
  • config.texi
  • configinfo.C
  • configinfo.h
  • 配置
  • configure.in

他们都不似乎提供关于如何生成的config.h文件太大帮助。

有人知道如何生成一个config.h文件吗?

更新:当我继续这个工作,整个事情似乎很奇怪。该程序cxxtest.C的后缀为.C,但其中有明显的C++元素,#include <iostream>如果我阻止了config.h,将后缀更改为.cpp并编译后,我得到了大量不同的错误。不知道这里的意图是什么。

至于README内容,我确实看到了一些关于如何编译整个DDD工具的说明,而且它很长。目前尚不清楚准备/配置和编译DDD工具是否也会编译这个特定的测试文件。我想我可以通过make文件和脚本来查看是否每个文件都被提到。 (叹气!)

其实我正在考虑通过重写将整个文件转换为纯粹的.c文件。请注意,原始文件是visible here...

注意:我现在在Virtualbox Ubuntu桌面上工作......最终,我想使用DDD工具来分析某些数字信号处理(DSP)程序中的关键阵列正在努力。

更新#2: 我在这里尝试了两种不同的东西。首先,我使用从原始cxxtest.c程序复制的绘图程序构建了C版本的文件。我将所有调用转换为纯C语言。我可以很容易地以文本格式查看DDD数据窗口中的数据。当我选择数据集然后选择绘图时,出现一个弹出窗口“DDD:启动绘图...启动gnuplot ...”系统挂在那里。

其次,我做了一个完整的干净安装的ddd工具。我必须安装一些依赖项,并更正一些已知错误(例如#include <cstdio>),但在$ ./configure && make$ make check都成功。make check命令可以正确构建和编译cxxtest.c。当我运行该文件并执行绘制drir数组变量的步骤时,我得到与上述相同的失败。

系统挂起。对失败的搜索表明这已有多年的报道,显然没有解决。不太确定如何继续。这似乎是一个彻底的失败。我无法重现DDD测试来绘制图形输出。其他人在这一方面取得进展?

注意:通过此编辑,我还从标题中删除了How do I generate config.h?。这不是真正的关键问题。

+0

是否有自述文件? –

+0

'INSTALL'文件说:“安装前进行简单检查,输入$ make check这将创建一个示例C++程序\ cxxtest',然后通过调用\”./ddd cxxtest'“ –

+0

来运行DDD请参阅附加说明:当我在一个独立目录中只有cxxtest.c和一些支持文件时,'make check'返回'make:***没有规则使目标'检查'。 Stop.'我很熟悉运行'ddd',而不是图形输出。 – zipzit

回答

0

有人知道如何生成一个config.h文件吗?

是的:只是运行configure提供的脚本。构建开源软件的典型顺序是:

./configure && make 
+0

我可以建议你在阅读新闻时应该学会阅读标题之外的内容。注意上面的编辑。 – zipzit

+0

@zipzit让我直截了当地说:你在抱怨我已经回答你的问题是昨天,而不是在一小时前更新它之后回答。你有时间旅行机可以卖给我吗? –

+0

这是你的答案,让我相信我需要更新这个问题。 没有足够的空间将所有问题都放在标题中。确切地说,你认为我在用这个“图表/图表示例”和“再现练习”去哪里?当您生成'config.h'文件时,您是否能够成功获取ddd工具中的数据图?并注意,我没有downvote你的答案...我upvoted一个(-1 - > 0) – zipzit