2015-03-06 10 views
0

Я работаю с простой программой поддержки приветственного мира .adb в Ada 2012, используя GPS IDE под Windows 7/64. Если я сохраню все файлы объектов и исходных файлов, все будет работать. Я сделал, чтобы перейти к свойствам проекта. Переключить вкладку и выбрать вкладку Ada и включить флажок «Отладочная информация».Ada 2012 и GND GPS IDE Debugger не могут найти исходный файл

Теперь я хочу немного улучшить свой проект и поместить объектные файлы в их собственный каталог. Я использовал свойства проекта Объекты вкладка и изменил настройку с . на ojb. Я могу построить и запустить. Теперь, когда я иду отлаживать и щелкаю по строке в hello.adb, я получаю «Нет исходного файла с именем hello.adb. Я предполагаю, что он ищет в каталоге obj. Я попытался выдать команду set directory и дал абсолютный путь в родительскую папку. Последующая команда show directories показывает, что папка, содержащая мой файл hello.adb, теперь находится на пути, но до сих пор не радует. Я больше не могу установить точку останова. Это не похоже на эту необычную операцию, я подозреваю, что есть еще один способ более высокого уровня для указания исходного пути для отладчика. Кто-нибудь знает, что это такое, или какие-либо советы по его использованию?

ответ

4

Сам по себе GPS не выполняет отладки. Он запускает отладчик командной строки с именем gdb для этого Вы можете попробовать запустить GPS с помощью --traceon = GVD.OUT (или, альтернативно, и часто проще в Windows, измените% USERPROFILE% .gps \ traces .cfg и добавить «GVD.OUT = yes»). Это будет регистрировать все коммуникации между GPS и gdb в% USERPROFILE% .gps \ log. *, Что может быть полезно для понимания того, почему gdb не выводит правильный полный путь для файлов. Просьба также дважды проверить, что «-g» действительно передается компилятору (возможно, после удаления всех файлов из obj)

+0

Я не могу быть положительным, что исправляло проблему, но я думаю, что это была последняя в скобках мысль! Я вошел в свойства проекта и включил на вкладке Build переход, который перекомпилируется при изменении ключей. Я также включил флаг информации об отладке (который, как я предполагаю, включает его как для gcc, так и для gnatlink). Как только это будет сделано, точки останова отладки могут быть установлены без прямого манипулирования gdb. Благодарю. – Tod

+0

Мне пришлось запускать «чистую» перед повторной компиляцией проекта, чтобы заставить его работать, после чего все работает хорошо. –