2010-09-16 63 views
3

我在运行GNU可视化调试器1.2.6的XP虚拟机上尝试打开Ada文件(.adb),但不断收到以下错误:GNAT-GVD:不是可执行格式:文件格式无法识别

not in executable format: File format not recognized

我还应该提到,我已经安装了用于GNAT 3.14p的Ada编译器工具包和win32工具。

我已经尝试从GVD甚至.c文件中打开其他.adb文件,但所有的上面都有相同的快乐响应。

任何想法为什么会发生这种情况?

+0

现在,我只是绕过使用gcc编译器的问题,但我仍然对这个错误背后的原因感到好奇。 – 2010-09-16 07:12:09

+0

您正在使用GNAT的*古代*版本,并且GVD早已弃用。如果可能,你应该转向GNAT GPL 2010(http://libre.adacore.com/libre)。除此之外,我猜测GVD的“Open ...”期待可执行文件打开和调试,而不是源文件。但严重的是,升级! – 2010-09-16 12:23:35

+0

应该在GNAT GPL中加入,你已经将调试器完全集成到了GPS IDE中。 – 2010-09-16 12:31:26

回答

3

GVD不会将源文件作为参数,它需要一个可执行程序。如果跳过了很多,如果这样,要调试foo.adb,你可能想将foo.exe传递给调试器。

但这是阿达,你不应该在这里。 ;-)如果你的源程序编译并生成一个可执行文件,你很少需要运行调试器。我记得上次我使用GNAT的调试器时,以及为什么。 (Solaris中的一个错误,解决方法是将一个常量改为一个变量--Solaris覆盖了传入的值而不是使用temp。)但是那是什么?五年前?

放入一些调试代码(请参阅GNAT文档中的pragma Debug)要容易得多,然后在必要时使用调试标志运行程序。

哦,最重要的。您可能需要查看C:\ GNAT \ 2010 \ share \ doc \以查找GNAT附带的所有文档。阅读。或者至少弄清楚如何搜索你需要的东西。 ;-)

+0

非常好。我开始怀疑它根本不需要源代码。我将检查编译指示调试以及。无论如何我最终都跑到命令行进行编译。 – 2010-09-16 16:06:52

+0

大声笑。不错的想法,但我可以保证一个好的调试器非常方便,即使使用Ada代码。您不必在调试器中生活,就像使用C代码一样,但它可能非常有用。 – 2010-09-17 16:49:18