Ада-95. Компилятор GNAT



         

Общие сведения об отладчике GNU GDB


Отладчик GDB является платформенно независимым отладчиком общего назначения.

Он может быть использован для отладки программ, которые написаны на разных языках программирования и скомпилированы с помощью GCC.

В частности, с его помощью можно отлаживать Ада-программы, которые скомпилированы с помощью компилятора GNAT.

Последние версии отладчика GDB обеспечивают поддержку Ада-программ и позволяют работать со сложными структурами данных Ады.

Следует заметить, что здесь приводится только краткий обзор, а исчерпывающая информация по использованию отладчика GDB содержится в руководстве "Отладка с помощью GDB" (Debugging with GDB).

В процессе компиляции программы, компилятор, опционально, способен записывать в генерируемый объектный файл отладочную информацию, которая может включать номера строк, описываемые типы данных и переменные

Эта информация хранится в результирующем файле отдельно от сгенерированного объектного кода.

Следует заметить, что наличие отладочной информации может значительно увеличить результирующий файл, но отладочная информация никак не влияет на исполняемый код, который непосредственно загружается в память, и на его производительность.

Генерация отладочной информации инициируется указанием опциии -g

в команде запуска компилятора gnatgcc или утилиты gnatmake.

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

Отладочная информация записывается в стандартном системном формате, который используется множеством инструментальных средств, включая отладчики и профиляторы.

Обычно, используемый формат разработан для описания семантики и типов языка C, но GNAT реализует схему трансляции использование которой позволяет кодировать информацию о типах и переменных Ады в стандартном формате языка C.

В большинстве случаев подробности реализации этой схемы трансляции не представляют интереса для пользователя, поскольку GDB выполняет необходимые преобразования автоматически.

Однако, в случае необходимости, информация об этой схеме трансляции может быть получена из файла exp_dbug.ads




Содержание  Назад  Вперед