Отладка

Отладка относится к числу навыков, овладев которыми, вы значительно продвинете свои навыки отслеживания багов в коде. Большинство новичков пренебрежительно относятся к важности отладчика 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 также поддерживает проведение анализа после завершения работы программы. Это также очень удобная возможность. Я настоятельно советую вам ознакомиться с официальной документацией и изучить этот инструмент подробнее.

Last updated