Средства для создания приложений в ОС UNIX (Указания к лабораторной работе № 5), страница 3

     target1 [ target2...]: [:] [dependment1...] [;commands]

     [#commentary][(tab)commands][#commentary],

где   #   -  специфицирует  начало  комментария,  так как  содержимое строки,  начиная   с # и до конца строки, не будет обрабатываться командой make;

:  -  последовательность команд ОС UNIX должна содержаться в одной  строке  make-файла  (файла  описаний),   есть  возможность переноса команд (\), но она считается как одна строка;

::  -  последовательность команд ОС UNIX может содержаться в нескольких последовательных строках файла   описаний.

Приведенный выше  make-файл для программы  abcd.c   включает два способа компиляции и построения исполняемого модуля.

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

ТЕСТИРОВАНИЕ И ОТЛАДКА

Тестирование   и   отладка   следуют   за  устранением  всех синтаксических ошибок,  выявленных  при  компиляции.  Для отладки могут  быть  использованы  различные программы отладки  на уровне исходного  кода.  В качестве примера такой  программы рассмотрена программа  gdb.  Для  ее  использования  необходимо  выполнить команду (для нашего примера)  $ make testabcd,      которая создаст исполняемый код (файл testabcd) для отладки.

После этого запустить отладчик gdb командой:

 $ gdb testabcd

На  экране  появится  информация об отладчике и в  последней строке приглашение программы gdb в виде:

(gdb)   для ввода команд отладчику.

Основными командами отладчика gdb являются:

backtrace – выводит весь путь к текущей точке останова, то есть названия всех функций, начиная от main(); иными словами, выводит весь стек функций;

break параметр – устанавливает точку останова, параметром может быть номер строки или название функции;

continue – продолжает выполнение программы от текущей точки до конца;

display – добавляет выражение в список выражений, значения которых отображаются каждый раз при остановке программы;

finish – выполняет программу до выхода из текущей функции; отображает возвращаемое значение, если такое имеется;

help [команда] – информация о команде или общая информация об использовании отладчика gdb;

list – пролистывает 10 строк вниз, начиная с текущей;

next – пошаговое выполнение программы, но, в отличие от команды step, не выполняет пошагово вызываемые функции;

print выражение – выводит значение какого-либо выражения;

run – запускает программу на выполнение;

step – пошаговое выполнение программы;

quit – выход из отладчика.

ТЕСТОВЫЙ ПРИМЕР ДЛЯ ЛАБОРАТОРНОЙ РАБОТЫ

При  выполнении  лабораторной  работы  будет  использоваться программа  abcd.c  на  языке Си,  исходный текст которой приведен ниже.  Эта программа  представляет  собой  простейший лексический анализатор,  который читает  входной текст со  стандартного ввода (клавиатуры)  и результаты выводит на  стандартный вывод (экран).

Для  каждой  строки,  принятой со  стандартного  ввода, программа выводит на стандартный вывод слова по одному в строку.

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