Отладка приложений, обработка ошибок
презентация к уроку

Ивашов Юрий Александрович

Лекция посвящена описанию вопросов, касающихся отладки приложений и работы с ошибками

Скачать:

ВложениеРазмер
Файл otladka_prilozheniy_obrabotka_oshibok.pptm180.8 КБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Отладка приложений, обработка ошибок Лекция посвящена описанию вопросов, касающихся отладки приложений и работы с ошибками.

Слайд 2

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

Слайд 3

Пример синтаксических ошибок Неправильное ключевое слово. Такая ошибка сразу будет отмечена редактором. Например, если в конструкции цикла For-Nextсделать ошибку в ключевом слове For - вы увидите сообщение об ошибке как только попытаетесь перейти к написанию следующей, после начала цикла, строки. Ошибка при объявлении переменной. Если вы забудете указать ключевое слово Dim при объявлении переменной - редактор выдаст сообщение об ошибке. Однако, сделает он это лишь при попытке запуска программы.

Слайд 4

Пример логических ошибок . Неправильное использование операторов Расчет какого-либо показателя по неправильной формуле. Неправильное использование функций - как встроенных, так и пользовательских. Неправильное использование переменных. Случайное использование "новых" переменных. Неправильное использование оператора сравнения

Слайд 5

Ошибки при выполнении программы Такие ошибки называют еще ошибками времени выполнения . Ошибки времени выполнения возникают в нормально работающих программах, которые прошли проверку на синтаксическую и логическую правильность.

Слайд 6

Методы Первый - разработка программы таким образом, чтобы не допустить этих ошибок, создание программных конструкций, которые предотвращают возникновение ошибок. Второе - перехват ошибок и их обработка.

Слайд 7

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

Слайд 8

Пример тестирования Если программа запрашивает число - введите какое-нибудь слово Попытайтесь запустить программу, открыв несколько окон с документами Попытайтесь прервать работу программы, а потом снова возобновить ее. Попытайтесь использовать вашу программу в более старой версии Microsoft Office Попытайтесь поработать с вашей программой на чужом ПК Во время работы программы сделайте что-нибудь необычное Если ваша программа использует файлы, находящиеся в локальной сети, отключите сеть во время работы программы. Проверьте ее реакцию. Наконец, представьте, что вы - пользователь программы и просто поработайте с ней. А еще лучше - попросите потенциального пользователя немного "пообщаться" с вашей программой. Этот способ позволяет протестировать программу в условиях, максимально приближенных к реальным.

Слайд 9

Отладка программ в редакторе VBA Основной метод отладки - это пошаговое исполнение программы с использованием точек останова ( breakpoint ). щелкнуть мышью в редакторе на серой панели напротив команды, на которой нужно остановить выполнение программы. Строка кода подсветиться красном цветом Чтобы убрать точку останова, щелкните по ней мышью.

Слайд 10

Так же режим отладки можно включить, нажав во время работы программы комбинацию клавиш Ctr + Pause Break и нажав в появившемся окне кнопку Debug . Однако такой способ не позволяет точно "попасть" в предполагаемое место ошибки (рис. 8.2.).

Слайд 11

Останова на каждой строке, можно запустить ее в режиме Step Into командой Debug o Step Into (Пошаговое исполнение ) или F8 на клавиатуре .

Слайд 12

Когда программа остановлена, вы можете выполнить следующие действия Просмотреть значения переменных, наведя на них указатель мыши. Продолжить выполнение программы в режиме Step Into - выбрав соответствующую команду меню или нажав клавишу F8 . Отредактировать программу. Продолжить исполнение программы в обычном режиме командой Run o Sub / User Form (Запустить o Процедуру/Форму), нажатием клавиши F5 или соответствующей кнопкой на панели инструментов Остановить выполнение программы командой Run o Reset (Запустить o Перезагрузка) или кнопкой на панели инструментов Воспользоваться другими средствами отладки - окнами Immediate , Locals , Watch . Помимо режима Step Into существуют следующие режимы отладки, доступные в меню Debug . Step Over (Перейти на следующую строку). Эта команда полезна при отладке программы , содержащей вызовы уже отлаженных процедур. В режиме Step Over отладчик не входит в процедуру , выполняя ее без отладки , после чего переходит на следующую строку. Например, вы выполняете программу в режиме Step Into и при очередной остановке видите, что подсвеченная строка содержит вызов процедуры, которую отлаживать не нужно. Вы выбираете команду Step Over , процедура выполняется без остановок на каждой ее строке, после чего следующая остановка происходит на строке вашей программы, которая идет за вызовом процедуры. Step Out (Выполнить процедуру) - эта команда позволяет выполнить текущую процедуру (например, вызванную из кода основной программы при обычной отладке ) без остановки в каждой строке. Следующая остановка будет сделана на строке, которая следует за вызовом процедуры в основном тексте программы. Run To Cursor (Выполнить до курсора) - выполняет программу до позиции, на которой установлен курсор. Аналогично установке одиночной точки останова .

Слайд 13

Immediate С помощью Immediate можно мгновенно выполнять различные команды, вызывать процедуры и функции - как пользовательские, так и встроенные. Так же в него можно организовать вывод различных данных в ходе выполнения программы.

Слайд 14

Для отправки в окно Immediate Debug.Print Команда Print frm_Test.Caption вывела свойство Caption формы frm_Test в окно. Далее , обратите внимание на то, что вместо команды Print можно использовать знак ?.

Слайд 15

После нажатия на кнопку Enter процедура будет выполнена и окно сообщения покажется на экране. Таким способом можно проверять работу процедур, отлаживать их до включения их в основной код программы .

Слайд 16

Как видите, Immediate - это очень простое, но мощное средство отладки . Однако, его неудобно использовать для быстрого просмотра множества свойств элементов управления, значений многих переменных и т.д. В подобных случаях нам может помочь окно Locals .

Слайд 17

Locals Окно Locals (Локальные переменные) позволяет просматривать и изменять свойства всех объектов приложения и значения переменных.

Слайд 18

Watches Окно Watches (Контролируемые выражения) предназначено для контроля за отдельными выражениями, значениями переменных и т.д. Чтобы добавить такое выражение , щелкните мышью по нему и выберите команду меню Add Watch ( Контро лировать ). Появится окно Add Watch

Слайд 19

Watches В окне Watches отображены следующие данные: Expression - контролируемое выражение. Value - значение выражения. Type - тип данных. Context - контекст (область контроля).

Слайд 20

отредактировать - Edit Watch . Для удаления пункт Delete Watch , Для добавления нового - Add Watch .

Слайд 21

Проверка данных, вводимых пользователем Для проверки данных, вводимых пользователем, вы можете воспользоваться стандартными конструкциями для принятия решений .

Слайд 22

Давайте рассмотрим пример, в котором пользователь должен ввести свой возраст в ответ на запрос программы. Очевидно, что возраст должен удовлетворять следующим условиям . должен быть числом ограничим введенное значение диапазоном значений для типа данных Byte - то есть введенное значение не может быть больше 256 и меньше 0. скорее всего, он не превысит 100 лет, но, учитывая то, что нашей программой могут пользоваться и долгожители (если верить статистике, некоторые доживают и до 150) - переспросим пользователя, уверен ли он в том, что ввел именно это значение, и, если он согласится, примем его.

Слайд 23

Работа с ошибками времени выполнения Выше мы рассмотрели метод борьбы с ошибками, который заключался в их предотвращении. Но что делать, если в ходе работы программы происходит ошибка, для предотвращения которой ничего сделано не было? В этой ситуации нам поможет перехват и обработка ошибок времени выполнения .

Слайд 24

Как видите, обработка ошибок времени выполнения - задача непростая. Нужно определить, какие именно ошибки могут возникнуть, написать код обработчика для каждой из них. Однако, если вы хотите, чтобы ваши программы выглядели и работали профессионально - без работы над ошибками не обойтись.

Слайд 25

Выводы В этой лекции мы рассмотрели вопросы отладки программ и работы с ошибками. Теперь вы владеете основными приемами VBA , общими для программирования в любых приложениях Office .


По теме: методические разработки, презентации и конспекты

Презентация на тему: "И опыт-сын ошибок трудных..."

Презентация на тему: "И опыт-сын ошибок трудных..."...

Практическая работа "Ручная отладка программного обеспечения"

Практическая работа по дисциплине МДК.03.01 Технология разработки программного обеспечения по ПМ.03 Участие в интеграции программных модулей для специальности 09.02.03 Программирование в компьютерных ...

Рекомендации по избеганию ошибок при чистке зубов

Рекомендации разработаны студентами колледжа по уходу за зубамиВ рамках НИРС при участии в научно-практической конференции "Актуальные вопросы профилактической стоматологии"...

Как научить ребенка писать без ошибок.

Как определить, если у ребенка дисграфия? Игры и упражнения , которые используют логопеды, и в которые можно поиграть с детьми дома. Советы родителям....

Презентация на тему: Инструменты отладки

Презентация на тему: Инструменты отладки.В рамках ПМ 02 МДК 02.02 Инструментальные средства раззработки программного обеспечения...

Создание приложений по обработке списков данных в средеVisual Studio на языке C#

Создание приложений по обработке списков данных в средеVisual Studio на языке C#...