Что значит отладить программу

Синтаксическая ошибка возникает, когда вы пишете код, который не соответствует правилам грамматики языка C++. Например, пропущенные точки с запятой, необъявленные переменные, непарные круглые или фигурные скобки и т.д. В следующей программе есть несколько синтаксических ошибок:1

#include ; // директивы препроцессора не заканчиваются точкой с запятой

return 0 // пропущена точка с запятой в конце стейтмента

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

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

Иногда это может привести к сбою в программе, например, если делить на ноль:

Иногда это может привести к неверным результатам:

Либо делать вообще не то, что нужно:

int add ( int x , int y )

return x — y ; // функция должна выполнять сложение, но выполняет вычитание

К сожалению, компилятор не ловит подобные ошибки, так как он проверяет только то, что вы написали, а не то, что вы хотели этим сделать.

Без этого вы не станете программистом! Найти ошибку в коде. Отладка. Как пользоваться отладчиком #23

В примерах, приведенных выше, ошибки довольно легко обнаружить. Но в большинстве программ (в которых больше 40 строк кода), семантические ошибки увидеть с помощью простого просмотра кода будет не так-то и легко.

И здесь нам на помощь приходит отладчик.

Отладчик

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

Более ранние дебаггеры, такие как GDB , имели интерфейс командной строки, где программисту приходилось вводить специальные команды для старта работы. Более современные дебаггеры уже имеют «графический» интерфейс, что значительно упрощает работу с ними. Сейчас почти все современные IDE имеют встроенные отладчики. То есть, вы можете использовать одну среду разработки как для написания кода, так и для его отладки (вместо постоянного переключения между разными программами).

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

Примечание: Перед тем как продолжить, убедитесь, что вы находитесь в режиме конфигурации «Debug» . Все скриншоты данного урока выполнены в Visual Studio 2019.

Степпинг

Степпинг (англ. «stepping» ) — это возможность отладчика выполнять код пошагово (строка за строкой). Есть три команды степпинга:

  • Команда «Шаг с заходом»
  • Команда «Шаг с обходом»
  • Команда «Шаг с выходом»

Что такое отладка программы в разработке

Отладка программы в разработке

В этой стать мы разберём, что такое отладка программы или кода.

Читайте также:
Какая программа на канале дисней

Что такое отладка:

Это этап разработки компьютерных программ, когда нужно найти и исправить ошибки в коде.

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

Также часта отладку называют дебаггингом или debug, что произошло от слова bug (Рус жук).

Примечание:

debug назвали от слова bug, из-за того, что во времена компьютеров на перфокартах, в сам компьютер залез жук и он не правильно стал работать, это был 1947 год.

Как происходит процесс отладки:

Теперь разберём как происходит процесс отладки, во время дебаггинга вы узнаёте:

  1. Значения всех переменных;
  2. Путь по которому выполняется программа;

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

Первое: это использовать программу отладчик, на мой взгляд наиболее удобный и понятной способ, так как, есть уже удобный интерфейс для дебаггинга, вы можете чётко отслеживать на какой строчки находитесь, и т.д.

Второе: просто в критических местах кода пишем вывод переменных, чтобы понять где вычисления идут не верно.

Также, тут стоит сказать, что как провела программа из первого варианта сразу стоят в IDE, но если вы пользуетесь текстовым редактором, например, VS code, то обычно вам надо будет выводить переменные, но иногда есть возможность подключить нормальный дебаггер.

Доп инструменты отладки:

Также кроме самой отладки, есть ещё ряд дополнительных инструментов, которые помогут вам проверять код на работоспособность.

  • Профилировщики — Позволяют узнать сколько времени выполняется та или иная часть кода;
  • Логи — Суть логов, что они записывают каждое действие программы в кокой-то файл, который потом можно просмотреть;
  • Снифферы — Отслеживают сетивой трафик, который генерирует программа;

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

  • Контрактное программирование — Это один способов программирования, суть его в том, что программист когда пишет код, он ещё другими путями подтверждает, что должно вывестись на выходе программы;
  • Модульное тестирование — Проверка кода по его частям;
  • Анализ кода — Анализировать код на стандартные ошибки, например, не поставил точку c запятой;
  • Использование библиотек — Ещё нужно в идеале использовать сторонние, проверенные библиотеки, а не создавать велосипед с нуля.

Вывод:

В этой статье вы прочитали, что такое отладка или дебаггинг в разработки, и как его можно минимизировать.

Источник: prognote.ru

Debug в IDEA

У программистов есть свой сленг, хотя многие считают, что это технический жаргон. В любом случае, вам не избежать ни знакомства с ним, ни детального изучения. Так что начинайте втягиваться.

Одним из первых слов, с которым вы познакомитесь, будет слово баг , от английского bug (жук). Это слово обозначает ошибку в программе, когда программа делает что-то не то или не так. Или просто странно работает.

Читайте также:
Программа пробить штрих код

Однако, если программист считает, что программа, хоть и работает странно, но именно так он и задумывал, обычно заявляет что-то типа «это не баг, это фича». Что породило кучу интернет-мемов.

В принципе причина неправильной работы может быть любая: ошибка в логике программы, опечатки, неверная архитектура программы, вплоть до проблем в компиляторе. В любом случае программистам нужно править и настоящие баги, и любые другие «недочеты», которые есть в программе.

История слова bug

Самой распространённой версией происхождения слова баг является такая легенда.

В сентябре 1947 года ученые Гарвардского Университета тестировали один из первых компьютеров — Mark II. Компьютер не работал, и в процессе проверки всех плат они нашли мотылька, застрявшего между контактами электромеханического реле.

Извлеченное насекомое было вклеено скотчем в технический дневник и сопровождено надписью, мол «баг найден и устранен».

Считается, что именно эта смешная история и послужила началом использования слова баг как обозначения ошибки, а слово дебаг (debug) стало синонимом устранения ошибок.

2. Отладка программы

Для устранения багов в своих программах программисты используют специальные программы-отладчики ( debugger ). Некоторые из этих программ умеют отлаживать даже машинный код.

Java-программисты для отладки ( debugging ) своих программ используют IDE. Такие как Intellij IDEA, Eclipse и Net Beans. IntelliJ IDEA на сегодняшний день является самой мощной IDE, поэтому мы рассмотрим процесс отладки на ее примере.

Intellij IDEA может запустить вашу программу в двух режимах:

Режимы запуска программы Иконка на панели Горячие клавиши
Обычное выполнение Shift + F10
Запуск в режиме отладки Shift + F9

С обычным режимом работы вы уже знакомы: программа запустится, отработает и завершится. А вот режим отладки несет для вас немало сюрпризов.

Режим отладки

Режим отладки позволяет пошагово выполнить всю вашу программу. Или правильнее будет сказать, построчно : строка за строкой . При этом вы можете наблюдать значения переменных на каждом шаге программы (после выполнения каждой строки кода). И даже менять их значения!

Чтобы минимально овладеть искусством отладки программы, вам нужно изучить три вещи:

  • Точки остановки
  • Пошаговое выполнение
  • Просмотр значений переменных

3. Точки остановки ( Break Points )

IDE позволяет вам разместить в коде специальные метки — точки остановки ( break point ). Каждый раз, когда программа, запущенная в режиме отладки, будет доходить до строки, отмеченной как break point , она будет становиться на паузу.

Чтобы поставить break point на определенной строке, нужно просто кликнуть в IDEA слева от этой строки. Пример:

Точки остановки (Break Points)

В результате строка будет отмечена точкой остановки (break point), и Intellij IDEA подсветит ее красным цветом:

Точки остановки (Break Points) 2

Повторный клик мышкой на панели слева от кода снимет установленную break point .

Также break point можно просто поставить на текущей строке с помощью горячей комбинации клавиш — Ctrl + F8 . Повторное нажатие Ctrl + F8 на строке, где уже есть break point , удаляет ее.

Читайте также:
Как использовать все ядра процессора в программах

4. Запуск программы в режиме отладки (дебага)

Если у вас в программе есть хотя бы одна точка остановки, вы можете запускать программу в режиме отладки ( Shift + F9 или «иконка с жуком»).

После запуска в режиме отладки программа выполняется как обычно. Но как только она дойдет до выполнения строки кода, помеченного break point , встанет на паузу. Пример:

Запуск программы в режиме отладки (дебага)

В верхней половине скриншота вы видите код программы с двумя точками остановки. Программа замерла на строке 5 — отмечена синей линией. Строка 5 еще не выполнилась: в консоль еще ничего не выводилось.

В нижней половине экрана вы видите панели режима отладки: панель Debugger , панель Console (вывод на экран), а также набор кнопок для режима отладки.

Вы можете снять вашу программу с паузы (продолжить ее выполнение), если нажмете кнопку Resume Program на панели слева снизу (или нажмете клавишу F9 ).

Запуск программы в режиме отладки (дебага) 3

Если нажать такую кнопку (или F9 ), программа продолжит работу, пока не встретит следующую точку остановки или не завершится. Вот что мы увидим после нажатия такой кнопки:

Запуск программы в режиме отладки (дебага) 4

Программа остановилась на второй точке остановки, а в консоль выведены слова Привет и И – признак того, что из трех строк вывода на экран выполнились только две.

5. Пошаговое выполнение

Если ваша программа работает в режиме отладки, вы также можете выполнять ее пошагово: один шаг — одна строчка . Для пошагового выполнения есть две горячие клавиши: F7 и F8 : каждая из них приводит к выполнению текущей строки кода. Но сначала вам нужно будет все же остановить вашу программу с помощью break point .

Если вы хотите выполнять вашу программу построчно, вам нужно поставить break point в самом начале метода main() и запустить ее в режиме отладки.

Когда программа остановится, вы сможете начать построчное ее выполнение. Одно нажатие клавиши F8 – одна строка.

Вот как будет выглядеть наша программа после остановки и нажатия клавиши F8 один раз:

Запуск программы в режиме отладки (дебага).Пошаговое выполнение

Первая строка метода main уже выполнилась, и текущая строка — вторая. Вы также можете видеть в нижней части скриншота, что на экран уже вывелось слово Привет .

6. Пошаговое выполнение с заходом в методы

Если у вас есть в программе собственные методы, и вы хотите, чтобы в режиме отладки ваша программа не просто выполнялась пошагово, но и заходила внутрь ваших методов, для «захода в метод» вам нужно нажимать не клавишу F8 , а клавишу F7 .

Допустим, вы пошагово выполняете программу и сейчас остановились на 4-й строке. Если вы нажмете кнопку F8 , IDEA просто выполнит четвертую строку и перейдет к пятой.

Пошаговое выполнение с заходом в методы

А вот если вы нажмете F7 , IDEA будет пошагово выполнять метод main2() :

Пошаговое выполнение с заходом в методы 2

Все очень просто. Если вам не сильно важно, что и как происходит внутри метода, вы нажимаете F8 , если важно — F7 и пошагово выполняете весь его код.

Источник: javarush.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru