Spec-Zone.ru › GNU Fortran 13

2.5 Параметры отладки вашей программы или GNU Fortran

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

-fdump-fortran-original

Выводит внутреннее дерево разбора после преобразования исходной программы во внутреннее представление. Этот параметр в основном полезен для отладки самого компилятора GNU Fortran. Вывод, генерируемый этим параметром, может изменяться между выпусками. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно.

-fdump-fortran-optimized

Выводит дерево разбора после оптимизации на стадии фронтенда. В основном полезно для отладки самого компилятора GNU Fortran. Вывод, генерируемый этим параметром, может изменяться между выпусками. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно.

-fdump-parse-tree

Выводит внутреннее дерево разбора после преобразования исходной программы во внутреннее представление. В основном полезно для отладки самого компилятора GNU Fortran. Вывод, генерируемый этим параметром, может изменяться между выпусками. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно. Этот параметр устарел; используйте -fdump-fortran-original вместо него.

-fdebug-aux-vars

Переименовывает внутренние переменные, созданные фронтендом gfortran, и делает их доступными для отладчика. Имена внутренних переменных затем начинаются с заглавных букв, за которыми следует символ подчеркивания. Этот параметр полезен для отладки кодогенерации компилятора вместе с -fdump-tree-original и включения отладки исполняемого файла с использованием -g или -ggdb3.

-fdump-fortran-global

Выводит список глобальных идентификаторов после преобразования во внутреннее представление на стадии мидденда. В основном полезно для отладки самого компилятора GNU Fortran. Вывод, генерируемый этим параметром, может изменяться между выпусками. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно.

-ffpe-trap=list

Указывает список ловушек исключений с плавающей запятой для включения. На большинстве систем, если возникает исключение с плавающей запятой, и ловушка для этого исключения включена, будет отправлен сигнал SIGFPE, и программа будет прервана, создав дамп памяти, полезный для отладки. list — это (возможно, пустой) список, разделенный запятыми, следующих исключений: ‘invalid’ (некорректная операция с плавающей запятой, например SQRT(-1.0)), ‘zero’ (деление на ноль), ‘overflow’ (переполнение в операции с плавающей запятой), ‘underflow’ (подпоток в операции с плавающей запятой), ‘inexact’ (потеря точности во время операции) и ‘denormal’ (операция, выполненная с ненормализованным значением). Первые пять исключений соответствуют пяти исключениям IEEE 754, а последнее (‘denormal’) не входит в стандарт IEEE 754, но доступно на некоторых распространенных архитектурах, таких как x86.

Первые три исключения (‘invalid’, ‘zero’ и ‘overflow’) часто указывают на серьезные ошибки, и если программа не имеет механизмов обработки этих исключений, включение ловушек для этих трех исключений, вероятно, является хорошей идеей.

Если этот параметр используется более одного раза в командной строке, списки будут объединены: ’ffpe-trap=list1 ffpe-trap=list2’ эквивалентно ffpe-trap=list1,list2.

Обратите внимание, что после включения исключение отключить нельзя (нет отрицательной формы).

Многие, если не большинство, операции с плавающей запятой приводят к потере точности из-за округления, поэтому ffpe-trap=inexact вряд ли будет интересна на практике.

По умолчанию ловушки исключений не включены.

-ffpe-summary=list

Указывает список исключений с плавающей запятой, статус флага которых выводится в ERROR_UNIT при вызове STOP и ERROR STOP. list может быть либо ‘none’, ‘all’, либо список, разделенный запятыми, следующих исключений: ‘invalid’, ‘zero’, ‘overflow’, ‘underflow’, ‘inexact’ и ‘denormal’. (См. -ffpe-trap для описания исключений.)

Если этот параметр используется более одного раза в командной строке, будет использоваться только последний.

По умолчанию выводятся сводные данные для всех исключений, кроме ‘inexact’.

-fno-backtrace

При возникновении серьезной ошибки во время выполнения или выводе смертельного сигнала (ошибка сегментации, незаконная инструкция, ошибка шины, исключение с плавающей запятой и другие сигналы POSIX, для которых действие установлено ‘core’), библиотека времени выполнения Fortran пытается вывести трассировку стека ошибки. -fno-backtrace отключает генерацию трассировки стека. Этот параметр влияет только на компиляцию основной программы Fortran.

См. Параметры отладки вашей программы или GCC в руководстве по использованию GNU Compiler Collection (GCC), для получения дополнительной информации о параметрах отладки.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/Debugging-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API