Некоторые разработчики до сих пор отлаживают программы, используя операторы print, потому что концепция сложна, а PDB выглядит пугающе. Графический отладчик PyCharm делает процесс максимально простым, наглядно визуалируя отладку в удобном формате. C PyCharm вы легко освоитесь и сможете быстро начать пользоваться основными функциям отладки.
Конечно, PyCharm умеет отлаживать код, который выполняется на локальном компьютере в системном окружении, virtualenv, Anaconda или Conda. С PyCharm Professional Edition вы также сможете отлаживать код, который запускается в Docker-контейнере, на виртуальной машине или на удаленном хосте через SSH.
При работе с шаблонами иногда в них может закрасться ошибка. Такие ошибки бывает трудно исправить, если не видно, что происходит внутри. Отладчик PyCharm позволяет устанавливать точки останова внутри шаблонов Django и Jinja2, чтобы вы могли легко избавиться от проблем.
Обратите внимание: для отладки шаблонов сначала необходимо сконфигурировать язык шаблонов.
В любом современном веб-проекте используется JavaScript, поэтому IDE просто обязана уметь отлаживать JavaScript-код. PyCharm Professional Edition включает в себя мощный отладчик JavaScript от команды WebStorm. Он поддерживает отладку браузерного JS и NodeJS.
Разработка через тестирование (TDD) подразумевает исследование кода при написании тестов. Используйте для этого отладчик, устанавливая точки останова в контексте, который вы исследуете.
Исследование может относиться к коду тестов или к тестируемому коду, что очень полезно при интеграционном тестировании Django-приложений (поддержка Django доступна только в редакции Professional Edition). Используйте точку останова, чтобы узнать, что возвращает запрос в тестовом сценарии.
PDB — отличный инструмент, но необходимость менять код может привести к случайной записи вызовов pdb.set_trace() в ваш Git-репозиторий.
Точки останова есть во всех отладчиках, но только некоторые из них могут предложить гибкие точки останова. Вам наверняка приходилось много раз нажимать Continue, пока вы наконец не добрались до итерации цикла, в которой возникает ошибка. С условными точками останова PyCharm в этом нет необходимости.
Зачастую все, что нужно сделать, — это посмотреть, какое значение имеет определенная переменная во время выполнения кода. Вы можете настроить точки останова PyCharm таким образом, что они не будут останавливать выполнение кода, а только подготовят для вас сообщение.
Исключения могут испортить ваш день, поэтому отладчик PyCharm умеет останавливаться на исключениях, даже если вы не совсем уверены, откуда они взялись.
Чтобы помочь вам контролировать процесс отладки, в PyCharm предусмотрено специальное окно, в котором вы можете увидеть все точки останова и отключить некоторые из них, используя флажки. Кроме того, можно временно отключить все точки останова, пока они снова вам не понадобятся.
Как только PyCharm достигнет точки останова, вы увидите все значения переменных прямо в коде. Чтобы было проще понять, какие значения поменялись с момента последнего срабатывания точки останова, изменившиеся значения подсвечиваются.
Вы можете настроить отображение переменных, добавив watches (отслеживание значений). Независимо от их сложности, PyCharm покажет именно то, что вам нужно.
Если вы хотите знать, как работает ваш код, не обязательно везде ставить точки останова. Вы можете следить за всем, что происходит, шагая по коду с помощью отладчика.
В некоторых случаях самый простой способ воспроизведения — принудительно установить определенное значение для переменной. PyCharm предлагает вычислить выражение для быстрых изменений, а также использовать консоль, если вы хотите лучше контролировать процесс. Консоль может использовать оболочку ipython, если она установлена.
Для отладки Python 3.6 отладчик PyCharm — самый быстрый из существующих, даже быстрее, чем PDB. Это означает, что вы всегда можете выполнять свой код в отладчике во время разработки и легко добавлять точки останова, когда необходимо. Главное убедиться, что вы нажали install, когда PyCharm спрашивает, нужно ли устанавливать ускорения Cython.