- PVSM.RU - https://www.pvsm.ru -

ExConsole — экстренная консоль для Python

Пост обещает быть сверхкратким.

ExConsole позволяет встроить интерактивную консоль-отладчик в Python-приложение. Консоль вызывается при фатальном исключении либо по приему SIGQUIT (он же Ctrl-).

Пример использования:

import exconsole
exconsole.register()

do_dangerous_stuff()

Пример работы с консолью:

Activating emergency console
----------------------------
Caused by:
ZeroDivisionError
integer division or modulo by zero

Stack frames:
  [  0] example.py:17

  [  1] example.py:15
              Tester().test()
  [  2] example.py:9
                  self.inner()
  [  3] example.py:6
                  self.divide(2, 0)
> [  4] example.py:3
                  return a / b
On frame 4
Source:
           def divide(self, a, b):
    >>         return a / b

Press Ctrl-D to leave console
Type "_help()"" for built-in commands

>>> print a,b
2 0
>>> _f(3)
On frame 3
Source:
           def inner(self):
    >>         self.divide(2, 0)

>>> print self
<__main__.Tester instance at 0x7f67c9a0e440>


Консоль поддерживает перемещение по фреймам стека и работу с местными переменными, а также позволяет выйти и продолжить выполнение приложения.

Встроенные команды:

  • _s() — вывод стека
  • _f(index) — перемещение в другой фрейм
  • _exc — объект пойманного исключения (если оно было)

Поддерживается Python 2.6+ и 3.
Пакеты для Debian и CentOS доступны в репозитории Ajenti [1]
Ссылки: Github [2] PyPI [3]

Автор: hardex

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/41434

Ссылки в тексте:

[1] репозитории Ajenti: http://docs.ajenti.org/man/install/general.html

[2] Github: https://github.com/Eugeny/exconsole

[3] PyPI: https://pypi.python.org/pypi/python-exconsole

[4] Источник: http://habrahabr.ru/post/190924/