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
Ссылки: Github PyPI

ссылка на оригинал статьи http://habrahabr.ru/post/190924/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *