ipdb-based debugger
Project description
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
Release history Release notifications | RSS feed
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.5.0.tar.gz
(6.8 kB
view hashes)
Built Distribution
Close
Hashes for ipdbugger-2.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c004f95f1d902d4a2f0b6a78ea75a40e49d5711a012ee04599a5b9760da0954c |
|
MD5 | d91338243149c7d34e3b138603f09470 |
|
BLAKE2b-256 | 6e9b03281666808ad5f0a6300bf2629040de2a5ab62339bfb9fbeee80b9c8fa7 |