Программная инженерия Дмитриев Андрей Владиславович andrei-dmitriev@yandex.ru 2008.

Презентация:



Advertisements
Похожие презентации
Программная инженерия Андрей Дмитриев ©
Advertisements

Обработка исключительных ситуаций Андрей Дмитриев 2008.
1 Обработка исключений в Java Одно из важнейших преимуществ Java – разработанный на уровне языка механизм обработки исключений. Исключение в Java - это.
Программная инженерия Андрей Дмитриев ©
Язык программирования Java Дмитриев Андрей Владиславович Май 2007.
Язык программирования Java Дмитриев Андрей Владиславович 2007.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Программная инженерия Дмитриев Андрей Владиславович
Язык программирования Java Дмитриев Андрей Владиславович Май 2007.
Test 6 Вопрос 1. Как можно уничтожить объект в Java? a)присвоить null всем ссылкам на объект b)вызвать Runtime.getRuntime().gc() c)вызвать метод finalize()
Программная инженерия Дмитриев Андрей Владиславович
Обработка исключительных ситуаций. Синтаксис try{ операторы0; } catch (ТипИсключения1 переменная1){ операторы1; } catch (ТипИсключения2 переменная2){
Saint Petersburg, 2011 Java Lecture #06 Exceptions.
Вперёд ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЦЕЛИ: ЦЕЛИ: 1. Средство для задания действий, которые должны быть выполнены машиной.(Машинный язык) 1. Средство для задания.
Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Обработка исключений.
Программная иженерия Андрей Дмитриев ©
Язык программирования Java Дмитриев Андрей Владиславович 2007.
Программная иженерия Андрей Дмитриев ©
Знакомство с IDE Pascal. Этапы решения задачи на компьютере : 1. Постановка реальной задачи и ее содержательный анализ 2. Создание модели ( формализация.
Отладка программного обеспечения. Определение отладки Отладка - этап разработки компьютерной программы, на котором, обнаруживают, локализуют и устраняют.
Транксрипт:

Программная инженерия Дмитриев Андрей Владиславович

Часть 3. Отладка программы Наглядность программного вывода. Обработка ошибок. Отслеживание состояний программы. Стек вызовов. Профилирование. Журнализация java.util.logging. Отладчик.

Наглядность вывода Object.toString() вызывается при использовании объекта в строковом контексте.

Вывод обычного объекта class Point { int x, y; } Point p = new Point(10, 20); System.out.println(p); Вывод:

Вывод модифицированного объекта class Point { int x, y; public String toString(){ return Point[+x+,+y+]; } Point p = new Point(10, 20); System.out.println(p); Вывод: Point[10, 20]

Обработка исключений См. презентацию Exception.

Обработка исключений Каждый блок catch() не рекомендуется оставлять пустым, а снабжать каким-либо действием, заметным для пользователя.

Состояние программы Добавление отладочной печати допустимо только в случаях, когда есть возможность пересобрать программу. Хорошо написанная программа предоставляет файл записей с событиями программы. Анализ такого файла позволяет найти ошибку в программе.

Журнализация Запуск программы с активированной журнализацией позволяет выводить информацию о состоянии программы вовне. Указание файла конфигурации для отладочной печати: -Djava.util.logging.config.file=custom.logging Пример файла конфигурации находится в каталоге: $JAVA_HOME/lib/logging.properties См. презентацию «Журнализация».

Стек вызовов Статический метод java.lang.Thread.dumpStack() позволяет распечатать путь, по которому интерпретатор Java достиг данного оператора. См. другие методы класса java.lang.Thread.

Профилирование JVM поддерживает механизм профилирования, активизируемый ключами –XXrunhprof и -Xhprof. Созданный файл содержит: Последовательность снимков состояний VM, Стеки вызовов, Итоговое число объектов.

Отладчик Хорошая среда разработки предоставляет возможности отладчика: Останавливаться в указанных строках кода. Отслеживать значения переменных. Передвигаться по коду. Переходить по меткам.

Выводы Отладка приложения проводится на всех этапах разработки системы. Современные среды разработки предоставляют широкий спектр возможностей по отладке приложений.

Ссылки и литература

Q&A

Дмитриев Андрей Владиславович Спасибо!