Skip to main content

ipdb-based debugger

Project description

PyPI Python versions https://travis-ci.org/gregoil/ipdbugger.svg?branch=master https://coveralls.io/repos/github/gregoil/ipdbugger/badge.svg?branch=master

ipdbugger is a code debugging tool based on ipdb.

Use the debug decorator on functions or classes to debug them. What actually happens: it surrounds each statement of the functions with a try-except, and starts an ipdb session in the exception handling section.

Installing

$ pip install ipdbugger

Using

from ipdbugger import debug

@debug
def f():
    foo = 1 + 1
    bar = 1 / 0
    baz = 2 + 2

Now when you run f(), you’ll get into an ipdb shell right after the error (the division by zero):

>>> from ipdbugger import debug
>>> @debug
    def f():
        foo = 1 + 1
        bar = 1 / 0
        baz = 2 + 2

>>> f()
Traceback (most recent call last):
   File "<ipython-input-2-5720bb02ab1d>", line 4, in f
    bar = 1 / 0
 ZeroDivisionError: integer division or modulo by zero
> <ipython-input-2-5720bb02ab1d>(5)f()
      2 def f():
      3     foo = 1 + 1
      4     bar = 1 / 0
----> 5     baz = 2 + 2
      6

ipdb> foo
2
ipdb>

From there, you have a couple of choices:

  • retry the action

  • continue with the rest of the flow (and ignore the error)

  • raise the exception, as if you didn’t catch it at all

  • Use any other of the available ipdb commands, like jump

Project details


Download files

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

Source Distribution

ipdbugger-2.0.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

ipdbugger-2.0.1-py2.py3-none-any.whl (5.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ipdbugger-2.0.1.tar.gz.

File metadata

  • Download URL: ipdbugger-2.0.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ipdbugger-2.0.1.tar.gz
Algorithm Hash digest
SHA256 8a3b8c06147c6697d281538be685e31419f03aaef7790d289c4dbe38b18e5310
MD5 dfcfdb75406b5ab42a5f4bd8ae1b02e0
BLAKE2b-256 401e2a1d3cfd91a8a02742cee987b770ef765024df09e1f1efd97837be1465f9

See more details on using hashes here.

File details

Details for the file ipdbugger-2.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ipdbugger-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 342a5d27fb77ec42b00500dd669945ae6a2547f5a9ce5ebd08fc1ffcaf0a6823
MD5 9d4cf987b247b129361032e082de1fc4
BLAKE2b-256 8e0d04fb4bc0e0353de8e404713564a61c21c6afc6fbd578a43ef60d565adabe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page