PyCharm: как выполнить посмертную отладку в интерактивной консоли ipython?
Я только начал использовать Nice PyCharm community edition IDE, и не могу сделать простую вещь, которая является частью моего обычного рабочего процесса Python.
Я запустил консоль ipython и могу импортировать свои модули и интерактивно запускать команды. В PyCharm, когда я выполняю вызов функции, он выполняется так, как будто он выполняется в отдельном процессе. Приглашение консоли можно использовать даже до завершения выполнения. Запуск ipython в оболочке за пределами PyCharm, когда происходит исключение, я могу запустить функция pdb post mortem и исследовать проблему:
import pdb;pdb.pm()
Я хочу сделать то же самое в PyCharm: начать посмертную отладку, когда происходит исключение, пока я интерактивно исследую проблему.
2 ответа:
Учитывая, что вы используете PyCharm, почему бы не использовать встроенный отладчик? Существует достаточно документации о том, как вы можете использовать его для установки собственных точек останова, пошагового просмотра стека, настройки параметров отладчика и т. д.
Специально для вашего случая использования, если вы хотите прервать на исключениях -- вы можете использовать Ctrl + Shift + F8, чтобы открыть экран конфигурации точек останова. Затем вы можете проверить, чтобы сломать на любое исключение для исключения Python Точка останова . Это даст вам доступ к исключению и всему стеку (в разделеFrames ), контексту, переменным и т. д. когда что-то случается.
Из-за отсутствия ответов, я думаю, что это невозможно сделать. Если кто-то опубликует ответ здесь, я приму его.
Кстати, если у вас установленJupyter , он даст вам замечательный терминал, если вы запустите
jupyter qtconsole
. Работает очень хорошо даже в Windows. Волшебная команда%debug
автоматически запустит отладчик.