[ANN] PuDB 0.92.1 - a console-based visual debugger

Andreas Klöckner inform at tiker.net
Mon Jun 22 08:50:51 CEST 2009


What is it?
-----------

PuDB is a full-screen, console-based visual debugger for Python. 

Its goal is to provide all the niceties of modern GUI-based debuggers in a 
more lightweight and keyboard-friendly package. PuDB allows you to debug code 
right where you write and test it--in a terminal. If you've worked with the 
excellent (but nowadays ancient) DOS-based Turbo Pascal or C tools, PuDB's UI 
might look familiar.

Where can I get it?
--------------------

You may find the most recent version (0.92.1 as of this writing) here:

http://pypi.python.org/pypi/pudb

(like screencasts? there is one!)

Main Features
-------------

* Syntax-highlighted source, the stack, breakpoints and variables are all 
visible at once and continuously updated. This helps you be more aware of 
what's going on in your program. Variable displays can be expanded, collapsed 
and have various customization options.

* Simple, keyboard-based navigation using single keystrokes makes debugging 
quick and easy. PuDB understands cursor-keys and Vi shortcuts for navigation. 
Other keys are inspired by the corresponding pdb coomands.

* Use search to find relevant source code, or use "m" to invoke the module 
browser that shows loaded modules, lets you load new ones and reload existing 
ones.

* Breakpoints can be set just by pointing at a source line and hitting "b" and 
then edited visually in the breakpoints window.  Or hit "t" to run to the line 
under the cursor.

* Drop to a Python shell in the current environment by pressing "!".

* PuDB places special emphasis on exception handling. A post-mortem mode makes 
it easy to retrace a crashing program's last steps.

License and Dependencies
------------------------

PuDB is distributed under the MIT license. It is based on Ian Ward's Urwid 
library and can optionally make use of Georg Brandl's Pygments for syntax 
highlighting. 

Andreas <inform at tiker.net>


More information about the Python-announce-list mailing list