изменение кода Python в отладчике

Есть ли какой-нибудь отладчик, который позволяет изменять код Python во время отладки?

Другими словами: возникает исключение во время выполнения, отладчик останавливается, я изменяю код как угодно и приказываю программе продолжить.

Я знаю о проблемах с этим подходом, так что ссылки на функции по-прежнему будут указывать на старые определения, если я переопределяю функцию на лету, и так далее. Меня это устраивает, поскольку я просто хочу иметь возможность вносить небольшие исправления в очень простых обстоятельствах.

С другой стороны, меня также интересует, возможно ли теоретически разрешить изменения в коде Python, не сталкиваясь с этими проблемы: то есть как-то обновить все ссылки на измененные объекты и т. д. Я почти уверен, что ответ на второй вопрос отрицательный, но если я ошибаюсь, я хотел бы знать.

РЕДАКТИРОВАТЬ: Если моя цель (изменение кода в интерактивном режиме при возникновении исключения и затем продолжение выполнения) достижима без отладчика - это тоже хорошо. Мне не нужно использовать отладчик.

6
задан max 28 January 2011 в 20:57
поделиться