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, и программа будет прервана, создав файл core, полезный для отладки. 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.
Для получения дополнительной информации об параметрах отладки см. Параметры отладки программы или 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-11.1.0/gfortran/Debugging-Options.html