Отладка Python-кода с PyCharm

Визуальный отладчик

Некоторые разработчики до сих пор отлаживают программы, используя операторы print, потому что концепция сложна, а PDB выглядит пугающе. Графический отладчик PyCharm делает процесс максимально простым, наглядно визуалируя отладку в удобном формате. C PyCharm вы легко освоитесь и сможете быстро начать пользоваться основными функциям отладки.

Debug Everywhere

Конечно, PyCharm умеет отлаживать код, который выполняется на локальном компьютере в системном окружении, virtualenv, Anaconda или Conda. С PyCharm Professional Edition вы также сможете отлаживать код, который запускается в Docker-контейнере, на виртуальной машине или на удаленном хосте через SSH.

Отладка внутри шаблонов только pro

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

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

JavaScript только pro

В любом современном веб-проекте используется JavaScript, поэтому IDE просто обязана уметь отлаживать JavaScript-код. PyCharm Professional Edition включает в себя мощный отладчик JavaScript от команды WebStorm. Он поддерживает отладку браузерного JS и NodeJS.

Отладка при TDD

Разработка через тестирование (TDD) подразумевает исследование кода при написании тестов. Используйте для этого отладчик, устанавливая точки останова в контексте, который вы исследуете.

Отладка при TDD

Исследование может относиться к коду тестов или к тестируемому коду, что очень полезно при интеграционном тестировании Django-приложений (поддержка Django доступна только в редакции Professional Edition). Используйте точку останова, чтобы узнать, что возвращает запрос в тестовом сценарии.

Не нужно менять код

PDB — отличный инструмент, но необходимость менять код может привести к случайной записи вызовов pdb.set_trace() в ваш Git-репозиторий.

Загляните в свой код

Точки останова

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

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

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

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

Просмотр значений переменных

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

Watches

Вы можете настроить отображение переменных, добавив watches (отслеживание значений). Независимо от их сложности, PyCharm покажет именно то, что вам нужно.

Контролируйте отладку

Наглядное представление процесса отладки

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

Выполнение пользовательского кода

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

Высокая скорость

Быстрее, чем PDB

Для отладки Python 3.6 отладчик PyCharm — самый быстрый из существующих, даже быстрее, чем PDB. Это означает, что вы всегда можете выполнять свой код в отладчике во время разработки и легко добавлять точки останова, когда необходимо. Главное убедиться, что вы нажали install, когда PyCharm спрашивает, нужно ли устанавливать ускорения Cython.