Отладка программы и обнаружение ошибок
Для отладки работы программы используется трассировка, позволяющая просмотреть траекторию работы программы. Для этого необходимо использовать директиву trace, слово trace ставится перед Predicates или domains. Она приостанавливает выполнение программы после каждой попытки удовлетворить (согласовать) подцель. В окно трассировки печатается значение переменной. Для продолжения программы нажимается F10, для остановки – ECS.
Если требуется трассировать только предикаты, то их перечисляют после trace. При ошибке курсор останавливается на начале того предиката, где случилась ошибка.
Информация, выдаваемая во время трассировки.
Ключевое слово |
Пояснение |
CALL |
Выводится всякий раз, когда осуществляется обращение к заданному предикату. Его имя и значение параметров отображается в окне трассировки. |
RETURN |
Возвращаемое значение отображается в окне трассировки, когда заданный предикат выполнен и возвращает управление вызванному его предикату. Если имеются дополнительные предложения, которым сопоставляются входные параметры, символ * показывает, что данное предложение является точкой возврата. |
FAIL |
Если рассматриваемый предикат не согласуется, то выводится ключевое слово, за которым следует имя соответствующего предиката. |
REDO |
Указывает, что осуществляется возврат назад. Имя предиката, которое будет рассматриваться следующим, вместе со значением параметров выводится в окно трассировки |