![](https://habrastorage.org/storage2/f4f/fa6/0e3/f4ffa60e31fc15d05d6dacebffe89ef2.png)
Pudb — полноэкранный консольный дебагер с графическим интерфейсом. Большим плюсом является то, что в нем есть подсветка синтаксиса, дополнительные панели вывода информации, горячии клавиши и интерграция с IPython.
pdb, в сравнении с Pubd, показался жутно не удобным и ограниченым. Поиск ошибок стал занимать на много меньше времени и приносить больше удовольствия. При первом взгляде на него вспоминался Assembler и Turbo Pascal в студенческие годы в техникуме.
Если кто заинтересовался примеры установки и использования под катом.
Установка до ужаса банальна и привычна, легко ставится из PyPI:
pip install pudb
либо можно поставить на прямую из исходников:
git clone git://github.com/inducer/pudb.git
cd pudb && setup.py install
При желании можно запустить отладчик из баша:
$ python
>>> import pudb
>>> pudb.set_trace()
При первом запуске pubd появится окошко для его настройки. Или же не появится, как это было со мной, в таком случае вызовите настройщик комбинацией Ctrl+p.
Впервые увидив дебагер вполне вероятно Вам сразу все будет понятно, интерфейс на удивление лаконичен и приветлив.
В настройщике можете выбрать shell (classic или ipython), тему (midnight, vim, dark, classic, vim, либо создать тему самому), порядок вывода стека, способ вывода значений переменных контекста.
Отладчик можно вызвать как для отдельных скриптов на языке Python, так и с фреймворком Django.
Для интреграции с Django просто в нужном месте вставляем такие строчки:
from pudb import set_trace; set_trace()
Для отладки отдельного скрипта делаем так:
python -m pudb.run my-script.py
Для использующих Python 2.6 и выше, то можно вызвать так:
python -m pudb my-script.py
Если в интерфейсе что то не понятно всегда можно нажать "?" и Вы увидите полный список команд.
Возможностей у дебагера много, например можно вывести трейсбек, путь к текущему файлу и номер строки на которой находимся, присутствует поиск, удобная работа с брейкпоинтами и многое-многое другое.
В общем все что нужно для удобного дебагинга и быстрого поиска ошибок pubd в себе содержит.
Как говорится, жить с ним стало легче.
Ссылка на Github
Ссылка на wiki