<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>dm.pdb</name>
<shortdesc>Slightly extended and sanitized Python debugger -- Debugger with Zope support</shortdesc>
<description>Dieter Maurer's PDB extension.
==============================

``Pdb``, the Python debugger, has severe limitations (apart from some bugs).
This extension tries to get rid of some of them.

Things done
-----------

 * setting breakpoints

   Allow *filename* to specify a module as well.

   Allow setting breakpoints from outside via ``do_break``.
   This is useful for debug setups.

 * exception display

   The current display of an exception is almost useless.
   In the ``Pdb`` code, exceptions are displayed at 4 places --
   and each of them uses slightly different code (whow!).

   We consolidate this into a single function ``_handle_exception``
   and present the exception with ``traceback.format_exception_only``.
   We also store the exception in the ``Pdb`` instance.
   A new command ``exception`` (abbreviated ``e``) presents this
   stored exception value in a way similar to the ``where`` command.


 * ``where`` command improvements

   - each frame identifies its level (the top frame is at level 0,
     the one below it at level 1, etc...)

   - the current frame is marked as such

   - ``where`` gets optional arguments *number* and *end*

     *number* controls how many frames are displayed (default: ``maxint``),
     *end* at what level the display ends, negative numbers count from
     the bottom (default: ``-1``, i.e. the bottom frame).

 * new command ``frame level`` (abbr: ``f``)

   switch to call frame at *level*

   without argument, provide info about current frame

 * allow to customize the display of the ``where`` command
   and of tracebacks
   e.g. to display additional debugging information as
   provided by Zope (for example).

   This can be done by customizing ``getAdditionalFrameInfo``.

Things not yet done
-------------------

 * Returning from ``debug`` occasionally returns to ``stop``
   rather than where we entered the recursive debugger.
   This is often nasty (and should be fixed)

Version history
---------------

1.0.3
,,,,,

 * fix the ``debug`` to use the current ``Pdb`` class, not Python's.

1.0.2
,,,,,

 * let external calls to ``do_break`` work even after the first ``run``.</description>
<maintainer><foaf:Person><foaf:name>Dieter Maurer</foaf:name>
<foaf:mbox_sha1sum>d8caddec6e17247f3248c3b0be3935b6ae2fd7e1</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>1.0.3</revision></Version></release>
</Project></rdf:RDF>