Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Slightly extended and sanitized Python debugger -- Debugger with Zope support

Project Description

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.2

  • fixed: do_break sometimes failed to resolve functions correctly.

1.1

  • improved handling of errors in command argument parsing
  • Python 2.6 compatibility

1.0.4

  • work around Python monkey patching set_trace inside a doctest.

1.0.3

  • fix 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.
Release History

Release History

This version
History Node

1.2

History Node

1.1

History Node

1.0.4.1

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
dm.pdb-1.2.tar.gz (7.0 kB) Copy SHA256 Checksum SHA256 Source Sep 7, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting