Как отлаживать приложение
Содержание
Как отлаживать приложение
Одна из самых частых задач при разработке - это поиск и устранение ошибок. Это может быть весьма сложным мероприятием, и для того, чтобы облегчить себе жизнь, мы будем использовать специальные инструменты для этого:
- Отладчик
- Вывод в консоль с помощью команды
print()
Давайте воспользуемся этими инструментами. Для начала найдите и откройте файл first_model.py
, как показано на рисунке ниже:
Затем мы добавим в него содержимое 33 строки, и настроим отладчик:
- Добавьте в файл команду
print("self", self)
. Сохраните и перезапустите систему. После этого откройте приложение в браузере и найдите первую записьГлавное Меню
->First Model Root
->record 001
и нажмите на кнопкуSTART FUNCTION
. - После нажатия на кнопку вы увидите, что в консоли появилась надпись
self first.model(1)
. Где первая часть - это строка, которую мы написали первым аргументом функцииprint("self", self)
, аfirst.model(1)
- это строковое представление объектаself
. Т.е. мы можем посмотреть состояние объекта в момент выполнения нашей программы - Теперь перейдем в режим отладки
- Когда наша программа работает, мы нажимаем на зеленую стрелочку и запускаем отладчик
- Если отладчик уже запустили, остановите его нажав на красную пиктограмму в пункте 7(это пункт 5, через один будет 7 ), и теперь вы можете поставить, так называемую "точку останова". Запустите отладчик, снова нажав на зеленую стрелку п.4. Затем опять откройте нашу программу и нажмите кнопку
START FUNCTION
. - Когда выполнение нашей программы подойдет к этой точке, она автоматически встанет на паузу. И вы сможете увидеть все объекты и их состояние в этом месте. Как вы можете видеть, этот инструмент гораздо более совершеннее чем
print()
, тем не менее они оба могут быть использованы для отладки - Панель управления отладчиком, тут вы можете делать пошаговый проход по коду программы, погружаться глубже и даже делать шаг назад.
Задание для самостоятельного выполнения:
- Вам нужно повторить все действия которые вы видите на картинках и получить аналогичный результат.
Обсуждение
Обсудить, указать на ошибки и опечатки можно здесь