Отладка(debugging) кода в PyCharm и Intellij IDEA

Debugging - (рус. Отладка) процесс нахождения и исправления ошибок в программе. Есть специальные инструменты для программистов для помощи при отладке кода. Например все среды разработки от JetBrains, такие как PyCharm, Intellij IDEA, Android Studio, имеют замечательный и мощный отладчик прямо из коробки. 

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

Хотите узнать больше?  

В IDE у вас сверху всегда есть такие кнопки

 
 

Первым указан файл, который вы в последний раз запускали. За ним кнопка запуска программы в обычном режиме. Следующая кнопку с изображением жука(bug - баг) - кнопка запуска программы в режиме отладки. Она нам и нужна. 

Горячая клавиша для первой кнопки Ctrl+Shift+F10 (вы уже знаете)
Горячая клавиша для запуска с отладкой Ctrl+Shift+F9 

Если вы запустите программу в режиме отладки не проставив точки останова(breakpoints), то она выполнится так же, как в обычном режиме. Поэтому нужно сначала в коде программы проставить точки останова. 

Для этого открываем файл программы и слева от строчки кода, в которой мы хотим остановить выполнения, кликаем мышкой чтобы появилась красная круглая точка(breakpoint):

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

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

Теперь, изучим инструменты, которые нам пригодятся. 

1. Кнопки управления шагами программы

 

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

Первая кнопка (F8) - шаг вперед - выполняет текушую строчку и идет дальше, не обязательно на след строчку.
Вторая кнопка (F7) - шаг внутрь - если есть вызов какой-либо другой функции или метода, этот шаг позволит вам войти во внутрь функции и проследить как выполняется функция.
Третья кнопка  - я незнаю что она делает, ни разу не использовал
Четвертая кнопка (Shift+F8) - шан вовне - выход из функции, в которой вы находитесь и продолжить на том месте где была вызвана функция. 

2. Переменные

 

В этом окне вы можете просмотреть переменные которые доступны из текущей точки останова. Например переменная word и matrix_size. Также тут видны другие системные переменные.

3. Просмотр выражений(Watches)

 

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

4. Кнопки управления выполнением программы

 

Если вы уже поняли, в чем проблема или хотите что-то поменять в коде и снова запустить. Или хотите продолжить дальше выполнение без остановки или хотите остановить на следующие точки останова, то вам пригодятся эти кнопки.
1. Первая кнопка - полностью перезапускает программу
2. Вторая кнопка - продолжает выполнение программы с остановленной точки и останавливает на следующей точке останова, если она есть
3. Третья кнопка - останавливает программу во время выполнения. Она не доступна когда программа уже остановлена.
4. Четвертая кнопка - прервать выполнение программы полностью. 

 

Надеюсь, все это вам пригодится при отлавливании ваших багов в программе. 

3397 10
Alisher Alikulov