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.2.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

ipdbugger-2.2.0-py2.py3-none-any.whl (6.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: ipdbugger-2.2.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for ipdbugger-2.2.0.tar.gz
Algorithm Hash digest
SHA256 9c35113cf1fb5176fc8fa6503ccd25b723c124580a442add87c5502b0fe18260
MD5 111a363211fbc66c03ebab3bbdada6e6
BLAKE2b-256 0a8baa4661115896439d4989690fc3f508d5a669e9e2b9a36ce817c1538122cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipdbugger-2.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.9.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3

File hashes

Hashes for ipdbugger-2.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 43b7d695d1914ead39e0d76e28b68576e301a326e9382156ae3660e066489d13
MD5 966a0da8a9703ddd2e1d197ccc4659b2
BLAKE2b-256 2041a7ad2628b3a7dacef159bc2149ce954f92ecb518579dd185b78d83c5b996

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