Отладка

Отладка

Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится :

  • узнавать текущие значения переменных;
  • и выяснять, по какому пути выполнялась программа.

Существуют две взаимодополняющие технологии отладки.

  • Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
  • Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.

Вот что пишут об этих двух подходах к отладке программы Брайан Керниган и Роб Пайк:

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

Щёлканье по операторам занимает больше времени, чем просмотр сообщений операторов выдачи отладочной информации, расставленных в критических точках. Быстрее решить, куда поместить оператор отладочной выдачи, чем проходить шаг за шагом критические участки кода, даже предполагая, что мы знаем, где находятся такие участки. Более важно то, что отладочные операторы сохраняются в программе, а сессии отладчика переходящи.

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

«Отладка сложна и может занимать непредсказуемо долгое время, поэтому цель в том, чтобы миновать большую её часть. Технические приёмы, которые помогут уменьшить время отладки, включают хороший дизайн, хороший стиль, проверку граничных условий, проверку правильности исходных утверждений и разумности кода, защитное программирование, хорошо разработанные интерфейсы, ограниченное использование глобальных переменных, автоматические средства контроля и проверки. Грамм профилактики стоит тонны лечения.»

Количество ошибок в программах заранее неизвестно, поэтому заранее неизвестна продолжительность отладки. Лучшим средством для сокращения отладки являются структурные методы проектирования программ с использованием структурного псевдокода или языков структурного программирования. Лучшие студенты-программисты — победители олимпиад по программированию, используя псевдокод, свои программы разрабатывают практически без ошибок.

Содержание

Инструменты

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

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

Процесс отладки

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

Литература

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?
Синонимы:

Полезное


Смотреть что такое "Отладка" в других словарях:

  • ОТЛАДКА — ОТЛАДКА, отладки, мн. нет, жен. (спец.). Действие по гл. отладить отлаживать. Отладка оружия. Толковый словарь Ушакова. Д.Н. Ушаков. 1935 1940 …   Толковый словарь Ушакова

  • отладка — отрегулировка, настройка, наладка, отрегулирование, тестирование, организация Словарь русских синонимов. отладка сущ., кол во синонимов: 6 • наладка (11) • …   Словарь синонимов

  • отладка — программы; отладка Процесс обнаружения и исправления ошибок в программе, а также установления факта ее правильного функционирования в машине …   Политехнический терминологический толковый словарь

  • ОТЛАДКА — (debug) См.: ошибка (bug). Бизнес. Толковый словарь. М.: ИНФРА М , Издательство Весь Мир . Грэхэм Бетс, Барри Брайндли, С. Уильямс и др. Общая редакция: д.э.н. Осадчая И.М.. 1998 …   Словарь бизнес-терминов

  • отладка — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN debugging …   Справочник технического переводчика

  • ОТЛАДКА — (1) программы систематический процесс поиска и устранения (см.) в (см.), производимый по результатам её прогона на ЭВМ или с помощью специальной вспомогательной программы (отладчика), обеспечивающей заданный режим её отладки и выдающей… …   Большая политехническая энциклопедия

  • Отладка программы — этап разработки компьютерной программы, в процессе которого происходят обнаружение, локализация и устранение явных ошибок в программе. Обычно отладка выполняется на контрольных примерах с известными результатами. По английски: Program debugging… …   Финансовый словарь

  • отладка ГТД — отладка Ндп. наладка Процесс регулирования , отдельных элементов ГТД и его агрегатов для получения заданных значений параметров. [ГОСТ 23851 79] Недопустимые, нерекомендуемые наладка Тематики двигатели летательных аппаратов Синонимы отладка EN… …   Справочник технического переводчика

  • отладка программы — отладка программы; отладка Процесс обнаружения и исправления ошибок в программе, а также установления факта ее правильного функционирования в машине …   Политехнический терминологический толковый словарь

  • отладка (программы) — — [А.С.Гольдберг. Англо русский энергетический словарь. 2006 г.] Тематики энергетика в целом EN debugging …   Справочник технического переводчика


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»