LINUX.ORG.RU

Отладка python


0

1

Какие есть инструменты для отладки python? Что можно почитать и посмотреть по этой теме не вдаваясь в родословную Гвидо?

GTK морда Deluge в произвольный момент начинает стабильно жрать 100% процессора, с какими-либо видимыми событиями это связать не удаётся. Хочу посмотреть в каком месте проблемы, но не strace же в неё тыкать.

> GTK морда Deluge в произвольный момент начинает стабильно жрать 100% процессора, с какими-либо видимыми событиями это связать не удаётся. Хочу посмотреть в каком месте проблемы, но не strace же в неё тыкать.

Именно strace - аналогичный баг был связан с boost.

tailgunner ★★★★★
()

«Сильным это не нужно а слабым не поможет»(с). Точнее в простых случаях не нужно, а в сложных бесполезно. Отладчик к сожалению не заменит голову и хорошую диагностику...у меня за 10 лет в отладчике не разу надобности не возникло, Emacs + терминал - хвататет за глаза;-)

Единственное что весьма полезно, это просмотр получившихся структур данных на основе интроспекции, поскольку при ошибке данные иногда выглядят совсем не так, как предполагается. В приципе опять таки банального print repr(...) обычно достаточно, ну или pprint.pprint(...) в сложных случаях.

AIv ★★★★★
()

Можно подцепиться к уже запушенному процессу с gdb. Либо пробовать сразу использовать родные дебаггеры.

mashina ★★★★★
()
Ответ на: комментарий от AIv

>Отладчик к сожалению не заменит голову и хорошую диагностику...у меня за 10 лет в отладчике не разу надобности не возникло, Emacs + терминал - хвататет за глаза;-)

Есть предложения как ещё подступиться к моему кейсу пока умным мира сего не до него?

profile73878
() автор топика

Спасибо, макет лопаты есть - буду копать.

profile73878
() автор топика

> GTK морда Deluge в произвольный момент начинает стабильно жрать 100% процессора, с какими-либо видимыми событиями это связать не удаётся. Хочу посмотреть в каком месте проблемы, но не strace же в неё тыкать.

почему бы не сделать python -m trace и позырить.

anonymous
()

> GTK морда Deluge в произвольный момент начинает стабильно жрать 100% процессора, с какими-либо видимыми событиями это связать не удаётся.

У меня он начинал жрать 100% проца после открытия файла/папки во внешнем приложении через Deluge. Баг говорят в PyGTK, причем уже довольно долгое время.

pevzi ★★★★★
()

Вот этот хорош http://pypi.python.org/pypi/pudb. Только что сам распробовал, отображает переменные и стек.
Есть точки остановки(с ncurses-отображением этого в коде). Для установки можно:

 sudo python setup.py install 
(easy_install у меня не оказалось, сам скачает, файлы копируются в /usr/local/lib/python2.6/site-packages/)
python -m pudb.run <ваш файл.py>

Так же есть plug-in к eclipse (http://pydev.org) тоже хорош, autocompletion и т.д. отлично работает, но вот отладка — никак нет, по крайней мере у меня.

blinkenlichten
()
Ответ на: комментарий от pevzi

подтверждаю.
Degule-ом нельзя открывать скачанные файлы.

xhat
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.