- Notifications
You must be signed in to change notification settings - Fork4
pdbp (Pdb+): A drop-in replacement for pdb and pdbpp. To replace "pdb", add "import pdbp" to an "__init__.py" file.
License
mdmintz/pdbp
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
pdbp (Pdb+) is an advanced console debugger for Python. It can be used as a drop-in replacement forpdb andpdbpp.
pdbp (Pdb+) makes Python debugging a lot easier (and more fun!)
pip install pdbp
Then addimport pdbp to an__init__.py of your project, which will automatically makePdb+ the default debugger at breakpoints:
importpdbp
(If usingflake8 for code-linting, you may want to add# noqa to that line):
importpdbp# noqa
You can also makepdbp the default debugger by setting an environmental variable:
PYTHONBREAKPOINT=pdbp.set_trace
To trigger a breakpoint in your code withpytest, add--trace (to start tests with a breakpoint) or--pdb (to trigger a breakpoint if a test fails).
To trigger a breakpoint from a purepython run, use:
python -m pdbp<script.py>
BasicPdb+ console commands:n,c,s,u,d =>next,continue,step,up,down
(To learn morePdb+ console commands, typehelp in thePdb+ console and pressEnter/Return.)
pdbp (Pdb+) makes improvements topdbpp so that it works in all environments. It also includes other bug-fixes. "Sticky" mode is the default option, which shows multiple lines of code while letting you see where you're going (while typingn +Enter).
If you somehow resetpdb to Python's built-in version, you can always replacepdb withpdbp again as the default debugger by running this:
importpdbimportpdbpforkeyinpdbp.__dict__.keys():pdb.__dict__[key]=pdbp.__dict__[key]
Here's how to customizepdbp/pdb options if you don't like the default settings: (Shown below are the default settings.)
importpdbifhasattr(pdb,"DefaultConfig"):pdb.DefaultConfig.filename_color=pdb.Color.fuchsiapdb.DefaultConfig.line_number_color=pdb.Color.turquoisepdb.DefaultConfig.truncate_long_lines=Falsepdb.DefaultConfig.sticky_by_default=True
You can also triggerPdb+ activation like this:
importpdbppdbp.set_trace()
The default mode (sticky) lets you see a lot more lines of code from the debugger when active. In Non-Sticky mode, only one line of code is shown at a time. You can switch between the two modes by typingsticky in thePdb+ console prompt and pressingEnter/Return.
Sticky Mode:
Non-Sticky Mode:
Pdb+ is used by packages such asseleniumbase:
(Pdb+ is maintained by theSeleniumBase Dev Team)
About
pdbp (Pdb+): A drop-in replacement for pdb and pdbpp. To replace "pdb", add "import pdbp" to an "__init__.py" file.
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.








