2.5 Параметры отладки программы или GNU Fortran
GNU Fortran предоставляет различные специальные параметры для отладки вашей программы или компилятора GNU Fortran.
-fdump-fortran-original-
Выводит внутреннее дерево разбора после преобразования исходной программы во внутреннее представление. Этот параметр, в основном, полезен для отладки самого компилятора GNU Fortran. Вывод, создаваемый этим параметром, может изменяться между версиями. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно.
-fdump-fortran-optimized-
Выводит дерево разбора после оптимизации на стадии front-end. В основном полезно для отладки самого компилятора GNU Fortran. Вывод, создаваемый этим параметром, может изменяться между версиями. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно.
-fdump-parse-tree-
Выводит внутреннее дерево разбора после преобразования исходной программы во внутреннее представление. В основном полезно для отладки самого компилятора GNU Fortran. Вывод, создаваемый этим параметром, может изменяться между версиями. Этот параметр также может генерировать внутренние ошибки компилятора для функций, которые были добавлены совсем недавно. Этот параметр устарел; используйте
-fdump-fortran-originalвместо него. -fdebug-aux-vars-
Переименовывает внутренние переменные, созданные front-end 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=list1ffpe-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.
Дополнительную информацию об параметрах отладки можно найти в разделе Options for Debugging Your Program or GCC в руководстве по использованию GNU Compiler Collection (GCC).
Далее: Параметры директорий, Предыдущее: Параметры ошибок и предупреждений, Наверх: Вызов GNU Fortran [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gfortran/Debugging-Options.html