我在運行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文件,但所有的上面都有相同的快樂響應。
任何想法爲什麼會發生這種情況?
我在運行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文件,但所有的上面都有相同的快樂響應。
任何想法爲什麼會發生這種情況?
GVD不會將源文件作爲參數,它需要一個可執行程序。如果跳過了很多,如果這樣,要調試foo.adb,你可能想將foo.exe傳遞給調試器。
但這是阿達,你不應該在這裏。 ;-)如果你的源程序編譯並生成一個可執行文件,你很少需要運行調試器。我記得上次我使用GNAT的調試器時,以及爲什麼。 (Solaris中的一個錯誤,解決方法是將一個常量改爲一個變量--Solaris覆蓋了傳入的值而不是使用temp。)但是那是什麼?五年前?
放入一些調試代碼(請參閱GNAT文檔中的pragma Debug)要容易得多,然後在必要時使用調試標誌運行程序。
哦,最重要的。您可能需要查看C:\ GNAT \ 2010 \ share \ doc \以查找GNAT附帶的所有文檔。閱讀。或者至少弄清楚如何搜索你需要的東西。 ;-)
非常好。我開始懷疑它根本不需要源代碼。我將檢查編譯指示調試以及。無論如何我最終都跑到命令行進行編譯。 – 2010-09-16 16:06:52
大聲笑。不錯的想法,但我可以保證一個好的調試器非常方便,即使使用Ada代碼。您不必在調試器中生活,就像使用C代碼一樣,但它可能非常有用。 – 2010-09-17 16:49:18
現在,我只是繞過使用gcc編譯器的問題,但我仍然對這個錯誤背後的原因感到好奇。 – 2010-09-16 07:12:09
您正在使用GNAT的*古代*版本,並且GVD早已棄用。如果可能,你應該轉向GNAT GPL 2010(http://libre.adacore.com/libre)。除此之外,我猜測GVD的「Open ...」期待可執行文件打開和調試,而不是源文件。但嚴重的是,升級! – 2010-09-16 12:23:35
應該在GNAT GPL中加入,你已經將調試器完全集成到了GPS IDE中。 – 2010-09-16 12:31:26