Автоматический запуск Python-отладчика при ошибке - PullRequest
176 голосов
/ 28 октября 2008

Это вопрос, который меня интересовал уже довольно давно, но я так и не нашел подходящего решения. Если я запускаю скрипт и сталкиваюсь, скажем, с IndexError, python печатает строку, местоположение и краткое описание ошибки и завершает работу. Можно ли автоматически запускать pdb при возникновении ошибки? Я не против того, чтобы в верхней части файла были дополнительные операторы импорта или несколько строк кода.

Ответы [ 13 ]

2 голосов
/ 22 июня 2017

python -m pdb script.py в python2.7 нажмите продолжить, чтобы запустить, и это приведет к ошибке и прекратит работу для отладки.

0 голосов
/ 18 февраля 2016

Если вы используете модуль:

python -m mymodule

А теперь вы хотите ввести pdb при возникновении исключения, сделайте следующее:

PYTHONPATH="." python -m pdb -c c mymodule/__main__.py

(или продлить ваш PYTHONPATH). PYTHONPATH необходим для того, чтобы модуль находился в пути, поскольку вы сейчас запускаете модуль pdb.

0 голосов
/ 16 апреля 2014

Поместите точку останова внутри конструктора самого верхнего класса исключений в иерархии, и в большинстве случаев вы увидите, где возникла ошибка.

Установка точки останова означает все, что вы хотите, чтобы она означала: вы можете использовать IDE, или pdb.set_trace, или что угодно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...