РУКОВОДСВО ПОЛЬЗОВАТЕЛЯ

Linux Edition. Revision B
перевод Балуева А. Н.

Оглавление

  • Глава 3. Отладка с помощью fdb

    Глава 3. Отладка с помощью fdb

    В начало страницы
    
     fdb есть командный символический отладчик на исходном уровне для  программ
    на  Fortran 95, Cи и Ассемблере.
    
    Перед отладкой программы ее нужно скомпилировать с параметром  -g (см.
    "Параметры компилятора и компоновщика на стр. 14).  Параметр  -g создает
    дополнительную символическую отладочную информацию в исполнительном коде.
    
    Настоящая глава содержит ссылки на отладку кода Cи.  Эти ссылки предназначены
    для Си-программ, компилированных с помощью fcc, Си-компилятора  Fujitsu.  fdb
    не совместим с отладочной информацией, генерированной  gcc, Си-компилятором
    GNU.  Вместе с тем, возможно отлаживать программы LF95, используя gdb (отладчик
    GNU), имея ввиду следующие ограничения:
    
               Спецификации Fortran 90/95 не поддерживаются в  gdb.
               Содержимое  COMMON может исследоваться в gdb только  исследованием
               памяти и интерпретированием ее значений.
               Fortran-процедуры должны указываться на нижнем регистре с символом
               подчеркивания (_) в конце.
               Можно проходить через процедурные модули, но нельзя устанавливать
               точки прерывания или обследовать значения переменных или параметров.
               Переменные Fortran нужно указывать большими буквами.
    
    

    Запуск fdb

    В начало страницы
    
    Чтобы запустить fdb, напечатайте:
    
                     fdb [exefile] [corefile]
    
    Здесь exefile есть имя исполнительного файла, компилированного с параметром
    -g, а corefile есть имя базового (core) файла (если таковой имеется),
    выданного при аварийном завершении исполняемой программы. Если exefile не
    указан, fdb будет предполагать, что исполнимый файл есть a.out.  Если
    отсутствует corefile, то  fdb будет предполагать, что  файл core есть базовый.
    
    Если  core присутствует в текущем каталоге или указан corefile, то fdb будет
    стартовать с текущей строки кода, той, которая была причиной аварийного
    завершения, а текущим файлом будет тот, который эту строку содержит.  Если core
    или  corefile не есть дамп исполнимого файла, то не будет никакой доступной
    отладочной информации. В противном случае, если  core file недоступен или не
    существует,  то fdb стартует с текущей строки кода, являющейся первой
    исполнительной строкой файла, содержащего главную программу.
    

    Коммуникации с fdb

    Переменные

    В начало страницы
    
    Переменные указываются в  fdb таким же самым образом, как они указываются
    в Fortran 95 или  Cи.
    В Cи член структуры (structure member) указывается как  variable.member или
    variable->member, если переменная есть указатель. В Fortran 95 производный
    тип (т.е. компонента структуры) указывается как  variable%member.
    В  Cи элемент массива указывается как  variable[member][member].... В Fortran
    95 элемент массива указывается как  variable(member,member,...).  Заметим, что
    в Fortran 95 отсутствие индексов массива означает ссылку на весь массив.
    Листинг содержимого массива в Fortran  95 ограничивается печатью параметра
    элементов (см.  "Различные управления" на стр. 61).
    

    Значения

    В начало страницы
     
    Численные значения могут быть типов integer, real, unsigned octal, или
     unsigned hexadecimal. Значения unsigned octal начинаются с 0, а  unsigned
    hexadecimal начинаются с 0x. Значения типа real могут включать  экспоненту,
    например 3.14e10. В программе на  Fortran 95 значения типов  complex, logical
    или  character также допускаются. Значения типа представляются как
    " character string " (цепочка ограничивается кавычками, т.е.,  ascii 34).
    Значения типа logical представляются как  .t. или .f..
    

    Адреса

    В начало страницы
    
    Адреса могут представляться десятичными номерами без знака, восьмиричными без
    знака  (которые должны начинаться с 0) или шестнадцатеричными без знака
    (которые должны начинаться с 0x или 0X). Следующие примеры иллюстрируют
    команды печати памяти с указанием адресов.
    
                    memprint 1024 (выдается содержимое области с адресом 0x0400.)
    
                    memprint 01024 (выдается содержимое области с адресом 0x0214.)
    
                    memprint 0x1024 (выдаетс содержимое области с адресом 0x1024.)
    
    
    
                    Регистры
            $BP          Базисный регистр
            $SP          Указатель стека
            $EIP         Счетчик команд
            $EFLAGS      Регистр состояния процессора
            $ST[0-7]     Регистры с плавающей точкой
    
    

    Имена

    В начало страницы
     
    При коммуникациях с fdb все имена процедур должны указываться на нижнем
    регистре, независимо от регистра, использованного во входном файле. Имя
    главной программы, если оно не указано в операторе PROGRAM, есть main.
    Для предотвращения конфликтов имен, данных пользователем, с встроенными или
    именами исполнительных библиотек, компилятор  "декорирует" имена процедур и
    блоков  common добавлением подчеркивания, `_', после соответствующего
    имени, указанного в исходной программе на Fortran.  При ссылке на внешнюю или
    модульную процедуру или на блок  common в fdb заключительный знак
    подчеркивания не обязателен.  Но при ссылке на внутреннюю процедуру ее имя
    нужно завершать подчеркиванием.
    

    Команды

    В начало страницы
    
    Команды можно сокращать, вводя только подчеркнутые буквы или буквы в описании
    команд. Например, kill можно сократить до k, а  oncebreak можно сократить до
     ob.  Все команды надо печатать на нижнем регистре, если не сказано противное.
    Символьные литералы должны заключаться в кавычки (знак  ", код ascii 34).
    Имена файлов должны заключаться в  grave accent (символ с кодом ascii 96).
    

    Выполнение и выход из программы

    В начало страницы
    
         run arglist
    Передает  список аргументов  arglist программе во время исполнения. Если
    arglist опущен, программа исполняется с последними указанными аргументами.
    Если arglist содержит аргумент, начинающийся с "<" или ">", то программа
    исполняется после перенаправления ввода/вывода.  Если желателен одношаговый
    или какой-нибудь другой способ исполнения программы, точка прерывания должна
    быть установлена до выдачи команды run, иначе программа будет выполняться до
    конца.  Объяснения точек прерывания см. в  "Точки прерывания" на стр. 51.
    Точка прерывания может также быть установлена в  MAIN__, в точке входа
    программы  main Fortran.  Не устанавливайте точку прерывания в  main; там
    не будет никакой отладочной информации.
    
    
    Run
    Выполняет программу без аргументов.   "R" должно быть на верхнем регистре .
    Как сказано выше, точка прерывания должна быть установлена предварительно,
    до выдачи этой команды, если желателен одношаговый или иной контроль.      
    
    
    Принудительное завершение программы.  (control+c) имеет тот же самый
    эффект как команда  kill.
    
    tty dev
    Направлять  стандартные  error I/O на устройство  dev по следующей команде run.
    
    param commandline arglist
    Присвоить списку аргументов командной строки новое множество значений
    
    param commandline
    Показать текущий список аргументов командной строки
    
    clear commandline
    Очистить  список аргументов
    
    setenv
    Показать окружение
    Показываются все переменные окружения и их значения.
    
    setenv "var"
    Показать переменную окружения "var"
    Выдаются переменная окружения var и ее значение
    
    setenv  "var"  "s"
    Установить переменную окружения  var на значение цепочки s.
    
    unsetenv "var"
    Исключить переменную  var из окружения.
    
    quit
    Закончить сеанс отладки.
    
    Help Commands
    
    help
    Выдает список всех команд
    
    help cmd
    Выдает  help для команды cmd
    
    help "regex"
    Выдает  help для всех команд, соответствующих регулярному выражению  regex.
    Заметьте, что необходимы кавычки (ascii 34).
    

    Команды оболочки

    В начало страницы
    
    cd dir
    Заменить текущий каталог на  dir
    
    pwd
    Выдать путь к текущему рабочему каталогу
    
    sh cmd
    выполнить произвольную команду  cmd оболочки
    

    Точки прерывания

    В начало страницы
    
           Общий синтаксис
              break [location [? expr]]
    
    Здесь location означает адрес в программе или номер строки в исходном файл,
    а  expr соответствует условному выражению, связанному с точкой прерывания.
    t.  Значение  location можно указать одним из следующих способов:
    
    * [`file`] line   указывает номер строки в исходном файле.  Если имя файла
    опущено, подразумевается текущий файл.  Заметьте, что "апострофы",
    используемые в указании файла, есть grave  accent (ascii 96),а не стандартные
    символы апострофа.
    * proc [+|- offset]   указывает номер строки, соответствующий точке входа
    функции или подрутины  proc плюс или минус  offset строк.
    
    
    * [mod@]proc[@inproc_] указывает функцию или подрутину  proc в текущей
    единице видимости или внутреннюю процедуру  inproc внутри proc, или процедуру
     proc, содержащуюся в модуле mod. Обратите внимание, что точка прерывания
    может быть установлена на процедурном модуле без указания имени модуля. Если
    имеется более чем один модуль в процедуре с указанным именем, вы получите
    подсказку для выбора из списка.
    * *addr   указывает физический адрес (по умолчанию шестнадцатеричный).
    * Если  location опущено, это по умолчанию означает текущую строку кода.
    
    Условное выражение expr можно строить из программных переменных, компонент
    структур и постоянных вместе со следующими операциями:
    
                        унарным минусом (-)
                        унарным плюсом (+)
                        присваиванием (=)
                        скалярными операциями (<, <=, ==, /=, >, >=, .LT., .LE.,
                        .EQ., .NE., .GT., .GE.)
                        логическими операциями (.NOT., .AND., .OR., .EQV., .NEQV.)
    
    break [ `file` ] line
    устанавливает точку прерывания в строке с номером  line в исходном файле.
    если опущено file, подразумевается  текущий файл. Заметьте, что "апострофы",
    использованные в файле, есть  grave accent (ascii 96), а не стандартные
    апострофы.
    
    break [ `file` ] procname
    Устанавливает точку прерывания на входе в процедуру  proc в исходном файле
    Если файл не указан, подразумевается текущий файл. Заметьте, что "апострофы"
    в файле есть  grave accent (ascii 96), а не стандартные апострофы.
    
    break *addr
    Устанавливает точку прерывания по адресу addr.
    
    break
    Устанавливает точку прерывания в текущей строке.
    
    condition #n expr
    Ассоциирует условное выражение  expr с точкой прерывания с порядковым номером
     n. Заметьте, что символ "#" необходим.
    
    condition #n
    Удаляет всякое условие, ассоциированное с точкой прерывания с порядковым
    номером  n.  Заметьте, что символ "#" необходим.
    
    
    oncebreak
    Устанавливает временную точку прерывания, которая убирается  после первой
    остановки в ней. Во всех остальных отношениях, включая аргументы, oncebreak
    действует как  Break.
    
    regularbreak "regex"
    Устанавливает точку прерывания в начале всех процедур с именем, соответствующим
    регулярному выражению regex.
    
    delete location
    Удаляет точку прерывания в месте location, как это описано в предыдущем
    синтаксическом описании.
    
    delete [ `file` ] line
    Удаляет точку прерывания в строке с номером line в исходном файле, указанном
    как file. Если файл не указан, имеется ввиду текущий файл. Заметим, что
    "апострофы" в  file есть  grave accent (ascii 96),
    а не стандартные знаки апострофа.
    
    delete [ `file` ] procname
    Удаляет точку прерывания из точками входа процедуры procname во входном файле.
    Если опущен  file, подразумевается текущий файл. Заметьте, что "апострофы"
    около file есть  grave accent (ascii 96), а не обычные апострофы.
    
    delete *addr
    Удаляет точку прерывания по адресу  addr.
    
    delete #n
    Удаляет точку прерывания с номером  n.
    
    delete
    Удаляет все точки прерывания.
    
    skip #n count
    Игнорирует точку прерывания с номером  n  count раз.
    
    onstop #n cmd[;cmd2;cmd3...;cmdn]
    По достижении точки прерывания n, выполнить указанные  fdb-команды (команд).
    
    show break
    B
    Выдает все точки прерывания. Если используется сокращение "B", то  "B" должно
    быть большим.
    

    Управление выполнением программы

    В начало страницы
    
    continue [ count ]
    Продолжать исполнение программы, пока счетчик точек прерывания не достигнет
    значения count. После этого выполнение прекращается. Если count опущено,
    подразумевается значение 1 и выполнение прекращается на первой точке
    прерывания. Выполнение программы продолжается без извещения программы о
    сигнале, даже если программа была прервана этим сигналом. В последнем случае
    выполнение программы обычно прерывается позднее, когда программа
    останавливается по той же самой команде.
    
    silentcontinue [ count ]
    То же самое, что и  Continue, но если сигнал прерывает программу, то программа
    извещается об этом сигнале, когда ее выполнение должно быть продолжено.
    
    step [ count ]
    Выполнить следующие  count строк, считая и текущую строку. Если count опущено,
    подразумевается значение 1 и исполняется только очередная строка. Если
    обнаруживается функция или вызов подрутины, исполнение "переходит" к этой
    процедуре.
    
    silentstep [ count ]
    То же, что и Step, но если сигнал прерывает программу, то программа
    извещается об этом сигнале, когда ее  выполнение продолжается.
    
    stepi  [ count ]
    Выполнить следующие count машинных команд, включая текущую команду. Если count
    опущен, подразумевается 1 и только текущая машинная инструкция будет выполнена.
    
    silentstepi [ count ]
    То же, что stepi, но если сигнал прерывает программу, она извещается об этом
    сигнале, когда ее выполнение продолжается.
    
    next [ count ]
    Выполнить следующие count строк, считая и текущую строку, причем функция или
    вызов подрутины считается за строку. Если count опущен, подразумевается 1 и
    только текущая строка выполняется. Другими словами, если встретится функция
    или вызов подрутины, выполнение "переступает" эту процедуру.
    
    silentnext [ count ]
    То же, что и Next, но если сигнал прерывает программу, она извещается об этом
    сигнале, когда ее выполнение должно быть продолжено.
    
    
    
    nexti [ count ]
    Выполняет следующие  count инструкций машинного языка, включая текущую, причем
    вызов процедуры рассматривается как одна инструкция. Если count опущен,
    предполагается значение 1 и выполняется только текущая инструкция.
    
    silentnexti [ count ] или nin [ count ]
    То же, что и Nexti, но если сигнал прерывает программу, программа извещается
    об этом сигнале, когда исполнение программы продолжается.
    
    until
    Продолжает выполнение программы, пока не будет достигнута следующая инструкция
    или оператор.
    
    until location
    Продолжает выполнение программы, пока  не будет достигнуто место location.
    Применяются те же синтаксические правила, что и для точек прерывания.
    
    until *addr
    Продолжает выполнение программы до достижения адреса addr.
    
    until +|-offset
    Продолжает выполнение программы до достижения строки, расположенной на
    offset строк перед (-) или после (+) текущей строки.
    
    until return
    Продолжается выполнение программы до возвращения к строке вызова из процедуры,
    содержащей текущую точку прерывания.
    
    goto [ `file` ] line
    Выполнение начинает вновь с указанной строки  line в файле  file.
    
    jump [ `file` ] line
    Изменяет счетчик команд (безусловный переход) на адрес, соответствующий
    указанной строке line в файле file.
    
    jump *addr
    Меняет счетчик команд (безусловно переходит) на адрес  addr.
    

    Выдача информации из стека программы

    В начало страницы
    
    traceback [n]
    Выдает точки входа подпрограммы (фреймы) в стеке, n есть количество
    фреймов стека, которые должны быть обработаны от текущего фрейма.
    
    frame [n]
    Выделить кадр стека номер  n. Если  n опущено, выбирается текущий кадр.
    
    upside [n]
    Выбрать кадр стека (запись активации) для процедуры на n уровней вверх по
    цепочке вызовов (вниз по цепочке, если  n меньше чем 0). Значение n по
    умолчанию есть 1.
    
    downside [n]
    Выбрать кадр стека для процедуры на n уровней ниже по цепочке вызовов
     (выше, если n меньше чем 0).  По умолчанию  n есть 1.
    
    show args
    Выдать информацию об аргументах процедуры, соответствующей выбранному
    в данный момент кадру.
    
    show locals
    Выдать локальные переменные процедуры, соответствующей текущему выбранному
    кадру.
    
    show reg [ $r ]
    Выдать содержимое регистра r в текущем кадре. r не может быть регистром с
    плавающей точкой. Если r опущено, выдается содержимое всех регистров,
    кроме регистров с плавающей точкой.
    Отметим, что требуется символ $ (см. "Регистры" на стр. 49 относительно
    деталей обозначения регистров).
    
    show freg [ $fr ]
    Выдать содержимое регистра с плавающей точкой fr в текущем кадре. Если  $fr
    опущено, выдаются значения из всех плавающих регистров. Заметим, что символ  $
    необходим (см. "Регистры" на стр. 49 относительно деталей обозначения
    регистров).
    
    show regs
    Выдать содержимое всех регистров, включая плавающие, в текущем кадре.
    
    show map
    Выдает распределение адресов.
    

    Установка и выдача переменных программы

    В начало страницы
    
    set variable = value
    Придать переменной variable значение  value.
    
    set *addr = value
    записать значение value по *addr.
    
    set reg = value
    Записать в  reg значение value. reg должен быть регистр или регистр с
    плавающей точкой (см.  "Регистры" на стр. 49 относительно деталей обозначения
    регистров).
    
    print [:F][ variable ]
    Выдает содержимое программной переменной  variable в формате редактирования
    F. Если формат редактирования  F опущен, подразумевается, что он определяется
    типом  variable, которая может быть скаляром, массивом, элементом массива,
    секцией массива, производным типом, элементом производного типа или блоком
    common. F может иметь только следующие значения:
    
       x hexadecimal
       d signed decimal
       u unsigned decimal
       o octal
       f floating-point
       c character
       s character string
       a address of variable
    
    memprint [:FuN ] addr
    dump [:FuN ] addr
    Выдает содержимое адреса  addr, используя редакционный формат  F. u определяет
    выдаваемую единицу , а N указывает их количество. F может иметь те же значения,
    которые указаны в команде  Print. Если F опущено, подразумевается значение x
    (hexadecimal -- см. описание формата в указанной выше команде  print).
    u может иметь следующие значения:
    
       b дин байт
       h два байта (слово)
       w четыре байта (слово)
       l восемь байтов (длинное слово/двойное слово)
    Если  u опущено, по умолчанию подразумевается  w (слово). Если N опущено,
    его значение по умолчанию есть 1. Следовательно, две следующих команды дают
    одинаковый результат:
    
    
    memprint addr
    memprint :xw1 addr
    

    Выдача исходного файла

    В начало страницы
    
    show source
    Выдает имя текущего файла.
    
    list now
    Выдает текущую строку.
    
    list next
    Выдает 10 следующих строк, включая текущую. Текущей строкой становится
    последняя выданная.
    
    list previous
    Выдать 10 последних строк перед текущей. Текущей становится последняя
    из выданных.
    
    list around
    Выдать 5 предыдущих строк и 5 следующих, включая текущую. Текущей становится
    последняя выданная.
    
    list sigaround
    Выдать пять строк, предшествующих строке, ближайшей к адресу, где получен
    сигнал, и пять следующих строк текущего файла, включая ближайшую к адресу
    получения сигнала.
    
    list [ `file` ] num
    Перейти от текущей строки текущего файла к строке номер  num исходного файла
    file и выдать 10 следующих строк этого файла, включающих новую текущую. Если
    file опущен, текущий файл не меняется. Заметим, что "апострофы" вокруг file
    в команде есть grave accent (ascii 96), а не стандартные знаки апострофа.
    
    list +|-offset
    Выдать строку, расположенную на offset строк до (-) или после (+) текущей.
    Новой текущей становится последняя выданная.
    
    
    
    list [ `file` ] top,bot
    Выдать строки исходного файла с номерами между значениями top и bot из
    файла  file. Если file опущен, подразумевается текущий файл. Текущей строкой
    становится последняя выданная.  Заметим, что "апострофы" вокруг  file
    есть  grave accent (ascii 96), а не стандартные апострофы.
    
    list [ func[tion ]] procname
    Выдает 5 строк до и 5 строк после точки входа процедуры с именем procname.
    
    disas
    Выдает текущую машинную инструкцию в коде ассемблера.
    
    disas *addr1 [ ,*addr2 ]
    Выдает машинные инструкции, расположенные между адресами addr1 и addr2
    в коде ассемблера. Если  addr2 опущен, он по умолчание означает конец
    текущей процедуры, содержащей адрес  addr1.
    
    disas procname
    Выдает все инструкции процедуры procname в коде ассемблера.
    

    Автоматическая выдача

    В начало страницы
    
    screen [:F] expr
    Выдает значение выражения  expr соответственно  формату  F при каждой
    остановке программы.
    
    
    screen
    Выдает имена и значения всех выражений, установленных выше описанной
    командой  screen [:F] expr.
    Для пояснения F см.  "print [:F][ variable ]" на стр. 57.
    
    unscreen [#n]
    Удаляет автоматическую выдачу с номером  n (символ "#" необходим).
    Если  #n опущен, удаляются все такие выдачи.
    
    screenoff [#n]
    Дезактивирует автоматическую выдачу с номером  n.  Если  #n опущено,
    дезактивируются все.
    
    screenon [#n]
    Активизирует автоматическую выдачу номер n.  Если  #n опущено, активизируются
    все выдачи.
    
    
    show screen
    Выдает нумерованный список всех выражений, установленных командами
    screen [:F] expr.
    

    Символы

    В начало страницы
    
    show function ["regex"]
    Выдать тип и имя всех функций или подрутин с именем, отвечающим регулярному
    выражению  regex (кавычки обязательны).  Если regex опущено, выдаются все
    процедурные имена и типы.
    
    show variable ["regex"]
    Выдать тип и имя всех переменных, имя которых соответствует регулярному
    выражению regex (кавычки обязательны).  Если  regex опущено, выдаются все имена
    переменных и их типы.
    
    

    Сценарии

    В начало страницы
    
    script `script`
    Исполняются команды из файла  script.  Заметим, что "апострофы" вокруг
    script есть  grave accent (ascii 96), а не стандартные символы апострофа.
    
    alias cmd  "cmd-str"
    Присваивает команду(ы) fdb  в  cmd-str (кавычки обязательны)
    псевдониму  cmd.
    
    alias [cmd]
    show alias [cmd]
    Выдать псевдоним определения  cmd.  Если cmd опущено, выдаются все
    определения.
    
    unalias [cmd]
    Удалить псевдоним определения  cmd.  Если  cmd опущено, все определения
    удаляются.
    

    Сигналы

    В начало страницы
    
    signal sig action
    Устанавливается ответное действие на сигнал  sig. Имена, которые можно
    указывать в качестве sig, можно узнать по команде signal(5). Возможные
    значения для  action такие:
                        stop    Прекратить исполнение по сигналу sig
                        nostop  Не останавливать исполнение по сигналу  sig
    
    
    
    show signal [sig]
    Выдает множество ответных реакций на сигнал sig.  Если  sig опущен, выдаются
    реакции на все сигналы.
    

    Различные настройки

    В начало страницы
    
    param listsize num
    Количество строк, выдаваемое по команде list, получает значение num. Начальное
    (по умолчанию) значение  num есть 10.
    
    param prompt  "str"
    str используется как цепочка-приглашение (кавычки обязательны).
    Соответствующее стандартное (по умолчанию) значение есть "fdb*".
    
    param printarray on|off
    Когда значение есть  "on," элементы массива выдаются по одному в строке
    в ответ на команду print.   Значение по умолчанию есть "off," при котором
    элементы  выдаются в виде списка, разделенного запятыми, прокручиваемого
    (wraps around the end) на экране консоли.
    
    param printstructure on|off
    Когда знаачение есть "on," элементы производных типов  (структур)  выдаются
    по команде print по одному в строке.  Значение по умолчанию есть "off."
    
    param printelements num
    Устанавливает на num количество выдаваемых элементов при печати массивов.
    Значение по умолчанию есть  200.  Минимальное значение для num есть 10.
    Установка num на 0 приводит к отсутствию предела.
    
    param prm
    Выдает значение параметра  prm.
    

    Файлы

    В начало страницы
    
    show exec
    Выдать имя текущего исполняемого файла.
    
    param execpath [path]
    Добавить путь в путь поиска исполнимых файлов.  Если path опущено, выдается
    имеющийся путь поиска.
    
    
    param srcpath [path]
    Добавить путь в путь поиска исходных файлов  при поиске процедур, переменных
    и т.д.  Если  path опущено, выдается значение пути поиска.  Заметим, что
    этот путь поиска можно также менять через переменную окружения FDB_SRC_PATH,
    которая представляет список каталогов, разделенный двоеточиями.
    
    show source
    Выдать имя текущего исходного файла.
    
    show sources
    Выдать имена всех исходных файлов программы.
    

    Специфика Fortran 95

    В начало страницы
    
    breakall mdl
    Установить точку прерывания во всех процедурах Fortran (включая внутренние
    процедуры) в модуле  mdl.
    
    breakall func
    Установить точу прерывания во всех внутренних процедурах процедуры func.
    
    show ffile
    Выдает информацию о файлах, которые в данный момент открыты в программе на
    Fortran .
    
    show fopt
    Выдать параметры времени исполнения, указанные  при запуске исполнительной
    Fortran-программы.
    

    Обнаружение утечки памяти

    В начало страницы
    
    param leak  off | mem | all
    Управляет уровнем проверки утечки памяти; уровни могут быть:
    
        off  проверка отсутствует (по умолчанию).
        mem  Проверяются функции и операторы манипуляций с памятью (такие как
             ALLOCATE, DEALLOCATE, malloc, free и memcpy).
        all  Проверяются системные процедуры для действий с цепочками символов,
             в дополнение к тем, которые проверяются параметром mem.
    
    param leak
    Сообщает текущий уровень проверки утечки.
    
    
    
    show leak  log | error | summary
    Выдает информацию об утечке памяти. Различаются следующие типы информации:
    log         Выдает используемые процедуры в порядке их вызова.
    error       Выдает сообщения об ошибках.
    summary     Только обзор информации.
    

    Процессы и подпроцессы (Threads)

    В начало страницы
    
    ps [pid]
    Выдает информацию об идентификаторах pid процессов.  Если pid не указан,
    выдается информация обо всех идентификаторах процессов.
    

<<< Оглавление Страницы: 3  4 >>>