Отладка программ

Отладка программ

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

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

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

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

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

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

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

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

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

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

Содержание

Инструменты

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

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

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

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

Литература

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


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

  • Отладка программ — Обнаружение, локализация и устранение ошибок в программе вычислительной машины Источник: РД 34.35.414 91: Правила организации пусконаладочных работ по АСУ ТП на тепловых электростанциях …   Словарь-справочник терминов нормативно-технической документации

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

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

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

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

  • Цифровой сигнальный процессор — (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС)  специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени) …   Википедия

  • ПЦС — Цифровой сигнальный процессор (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС) специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе… …   Википедия

  • Microsoft Visual Studio Debugger — Microsoft Visual Studio Debugger  отладчик, входящий в состав всех версий Microsoft Visual Studio. Изначально этот отладчик значительную долю своего подхода и функциональности перенял от CodeView, отдельного текстового отладчика, который… …   Википедия

  • РД 34.35.414-91: Правила организации пусконаладочных работ по АСУ ТП на тепловых электростанциях — Терминология РД 34.35.414 91: Правила организации пусконаладочных работ по АСУ ТП на тепловых электростанциях: Автоматизированный контроль и учет дефектов монтажа, отказов систем, выполнения графика, оформление актов приемки и т.п. Задача АСУ ТП …   Словарь-справочник терминов нормативно-технической документации

  • Data Display Debugger — DDD Разработчик GNU Операционная система Linux Последняя версия 3.3.12 (11 февраля 2009) Лицензия GPL Сайт http://www.gnu.org/softwar …   Википедия


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

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