Отладка

Отладка относится к числу навыков, овладев которыми, вы значительно продвинете свои навыки отслеживания багов в коде. Большинство новичков пренебрежительно относятся к важности отладчика Python (pdb). В данной главе я расскажу лишь о нескольких важных командах. Узнать больше вы можете из официальной документации.

Запуск из командной строки

Вы можете запустить скрипт из командной строки вместе с отладчиком. Пример:
$ python -m pdb my_script.py
Отладчик приостановит выполнение программы на первой найденной им инструкции. Это удобно для коротких скриптов. Вы можете проверить значения переменных и продолжить выполнение программы построчно.

Запуск из скрипта

Вы можете задать контрольные точки в коде, что позволит изучить значения переменных и другие параметры в конкретный момент выполнения программы. Это возможно при помощи метода pdb.set_trace(). Вот живой пример:
import pdb
def make_bread():
pdb.set_trace()
return "У меня нет времени"
print(make_bread())
Попробуйте запустить этот код. Отладчик откроется сразу после запуска скрипта. Теперь пришло время познакомиться с несколькими командами отладчика.

Команды

  • c: продолжить выполнения программы
  • w: отобразить окружение текущей исполняемой инструкции
  • a: отобразить список аргументов текущей функции
  • s: исполнить текущую строчку кода и остановиться по возможности
  • n: продолжить исполнение программы пока не будет достигнута следующая
    строка текущей функции или пока функция не завершит свою работу
Разница между n и s в том, что вторая команда приостановит исполнение после вызова функции, а первая только после достижения следующей строки текущей функции.
Это лишь несколько базовых команд. pdb также поддерживает проведение анализа после завершения работы программы. Это также очень удобная возможность. Я настоятельно советую вам ознакомиться с официальной документацией и изучить этот инструмент подробнее.