Отладка программы. Наиболее частые ошибки и их исправление

 

Для того, что бы отладить программу ее нужно загрузить в AutoCAD. Загрузка программы, написанной в AutoLisp, осуществляется при помощи диалогового окна AutoCAD Load Application ..., которое вызывается из главного меню Tools и имеет вид представленный на рисунке 6.3.

 

 

Рисунок 6.3. Диалоговое окно Load Application.

 

Файл, который необходимо загрузить в AutoCAD, либо выбирается из списка, либо находится через клавишу   File...  . После того, как нужный файл найден и выделен, он загружается в чертеж при помощи клавиши  Load . После успешной загрузки файла с программой в AutoCAD в командной строке должно появиться следующее сообщение:

Loading C:имя.lsp . . .,

где имя - имя файла, в котором содержится программа.

Если данное сообщение не появилось, то в командной строке будет написана подсказка, которая указывает на ошибку (Error:) в программе. При загрузке программы возможны два варианта ошибок:

1. Отсутствие открывающей или закрывающей скобки - Malformed list.

2. Непарность кавычек - Malformed string.

Для внесения исправлений в программу необходимо открыть файл, содержащий данную программу (использовать программу Блокнот, см. раздел 1). Читаем программу, обращая особое внимание на открытые и закрытые скобки и кавычки. Количество открытых и закрытых скобок и кавычек должно совпадать между собой. При нахождении непарных скобок или кавычек, необходимо исправить ошибку. После этого необходимо сохранить программу. Войти в AutoCAD и загрузить исправленную программу в файл (см. начало данной главы).

При успешной загрузке файла с программой в AutoCAD в командной строке появиться следующее сообщение:

Loading C:имя.lsp . . .

После того как данное сообщение появилось в командной строке можно обратиться к новой команде, загруженной в чертеж AutoCAD. Для этого необходимо в командной строке набрать с клавиатуры имя команды, которое было написано в первой строке программы после С: и нажать клавишу  ЕNTER. При этом в командной строке должен появиться первый запрос команды (в примере – это фраза “Введите центр детали C: “). Получив ответы на все запросы, программа начнет построение детали. Если в написанной программе нет ошибок, то после ответа на все ее запросы, на рабочем поле чертежа появится изображение детали.

При наличии ошибок в командной строке появится соответствующее сообщение, которое будет указывать на род ошибки и в каком выражении AutoLisp она находится. Если данное выражение вложено в другое выражение, то оно также будет написано в командной строке после первого выражения. Это может выглядеть, например следующим образом:

error: null function

(n/ a 180)

(setq А1 (n/ a 180))

(C:PRO)

*Cancel*

В данном примере допущена ошибка в написании функции AutoLisp в математическом выражении, присвоенном параметру А1, который используется в команде с именем PRO. Слово *Cancel* говорит о том, что выполнение программы было прервано. Ошибка заключается в том, что в AutoLisp нет функции n/, а есть функция / - деление.

Рассмотрим наиболее часто встречающиеся ошибки.

1. Отсутствует или неправильно написана функция AutoLisp – Null function.

2. Аргумент не определен – Bad argument type.

3. Аргумент не соответствует функции - Function undefined for argument.

При обнаружении любой из ошибок, необходимо вернуться в текстовый редактор, открыть файл с программой, найти и исправить ошибку, сохранить файл и снова загрузить его в AutoCAD.

Ошибки исправляются следующим образом: если найдена первая ошибка, то необходимо исправить написание функции (или написать функцию); если найдена вторая ошибка, то необходимо определить аргумент перед тем, как он используется в выражении. Третья ошибка чаще всего встречается в том случае, если в программе используется для математических вычислений квадратный корень. Если это так, то необходимо снова обратиться к программе и задать новые параметры детали (выражение под корнем не должно быть отрицательным числом). Та же самая ошибка встречается и в случае, если тип аргумента не соответствует тому, с которым работает данная функция. Например, при обращении к команде AutoCAD POLYGON (МНОГОУГОЛЬНИК) количество сторон – целое число. Поэтому, для определения числа сторон надо использовать функцию GET … для ввода целого числа.

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

 

 



Лекция №7

В «Программе» данной лекции соответствуют п.п. 6.1 и 6.2.

 

Дата: 2019-04-22, просмотров: 25.