Я хочу, чтобы мой отладчик запускал post_mortem()
всякий раз, когда встречается исключение, без, чтобы изменить источник, над которым я работаю. Я вижу множество примеров, которые включают в себя код упаковки в блоке try/except, но я бы хотел, чтобы он всегда запускался независимо от того, над чем я работаю.Приятный общий способ всегда вызывать отладчик python после исключения
Я работал над сценарием оболочки python, но это должно было быть уродливым и в значительной степени непригодным для использования.
Я использую pudb, что эквивалентно API для pdb, поэтому ответ pdb-специфический. Я запускаю код из моего редактора (vim) и хотел бы, чтобы pm приходил в любое время, когда встречается исключение.
Да. Это то, что говорят документы, но если я запустил это, даже по титивному сценарию, я всегда вхожу в отладчик: $ echo ''> /tmp/x.py && python -m pdb /tmp/x.py > /tmp/x.py(1)() -> (Pdb) –
Вы правы, программа не запускается немедленно. Вы можете добавить файл '.pdbrc', содержащий' continue' в вашем домашнем каталоге или каталоге проекта, но, к сожалению, это [поддерживается только с 3,2] (http://docs.python.org/dev/library/pdb.html # module-pdb) – icecrime
Похоже, это одно существенное отличие от пудба. Нет «.pudbrc». –