Шаг 74.
Основы логического программирования.
Средства отладки в Turbo Prolog 2.0

    На этом шаге мы рассмотрим средства отладки в Turbo Prolog 2.0.

    Turbo Prolog 2.0 не обладает таким разветвленными средствами отладки программ по сравнению с другими системами программирования, здесь они практически отсутствуют. Однако язык программирования Turbo Prolog предоставляет пользователю возможность трассировки программы. Для того, чтобы задействовать это средство, необходимо включить в программный файл директиву trace, которая должна размещаться в программе перед разделом predicates. Лучше всего разместить ее перед разделом domains.

    Общий вид директивы trace следующий:

    trace <список предикатов>,

где список предикатов - перечень предикатов, перечисленных через запятую, для которых нужно выполнить трассировку.

    Если список предикатов не указан, то трассировка начинается с выполнения самого первого предиката.

    Выполнение директивы трассировки приостанавливает выполнение программы после каждой попытки удовлетворить подцель. В этот момент в окне трассировки (окно Trace среды программирования) печатаются значения переменных и некоторая другая информация (рис.1):

       RETURN - после этого служебного слова размещается предикат, для которого были найдены все значения переменных;

       CALL - после этого служебного слова размещается предикат, являющийся подцелью. Неизвестные переменные в нем обозначаются символами "_";

       REDO - после этого служебного слова размещается предикат, являющийся подцелью. Данное сообщение появляется тогда, когда осуществляется переход от одной реализации предиката к другой;

       FAIL - после этого служебного слова размещается предикат, для которого не были найдены все значения переменных. Это свидетельствует о том, что данная подцель не была разрешена. Для управления трассировкой можно использовать следующие клавиши (комбинации клавиш):

       F10 - выполнение следующего шага программы;

       Shift+F10 - изменение размеров и местоположения текущего окна;

       Alt+T - изменение работы режима отладки. При нажатии этой комбинации клавиш на экране появляется "плавающее" окно, содержащее значения трех пунктов. Изменить значения можно с помощью клавиши Enter, убрать окно с экрана - клавиша F10. Перечислим пункты этого окна (по умолчанию все они имеют значения On):


Рис.1. Общий вид среды программирования Turbo Prolog 2.0 при включенной трассировке

       Status - отключить режим отладки;

       Trace Window - режим отладки работает, только не изменяется содержимое окна Trace;

       Edit Window - режим отладки работает, но в окне редактора кода (окне Editor) отсутствует курсор, указывающий выполняемый предикат;

       End - завершение выполнения программы.

    Если нужно продолжить выполнение программы в обычном режиме, то для выключения трассировки применяется директива trace(off).

    Кроме директивы trace можно использовать директиву shorttrace, которая является аналогом trace с той лишь разницей, что в окно Trace выдается более краткая информация.

    Мы закончили изучение основ языка программирования Prolog.




Предыдущий шаг Содержание