Registry / testing / pdbpp
library0.12.1pypypi✓ verified 22d ago

pdb++ (pdbpp) is a robust, drop-in replacement for the standard Python debugger, `pdb`. It enhances the debugging experience with features like colorful TAB completion (via fancycompleter), optional syntax highlighting (via Pygments), a persistent 'sticky' mode that always shows the current code context, and smart command parsing. It aims for full compatibility with `pdb` while adding significant quality-of-life improvements. The current version is 0.12.1, with ongoing maintenance and updates.

pip install pdbpp
INSTALL
IMPORT
SIG · PDBPP
P
pdbpp
testingpythonv0.12.1
Install
2.3s avg
Import
140ms
Disk
26MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.12.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.152s · 27.1MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.3s · import 0.128s · 28MB
26MB installed
● package 26MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Pdb
from pdbpp import Pdb
import pdb; pdb.set_trace()
set_trace
from pdbpp import set_trace
import pdb; pdb.set_trace()
break_on_setattr
from pdbpp import break_on_setattr

Install `pdbpp`, then simply use `import pdb; pdb.set_trace()` anywhere in your code. When execution reaches this line, a `Pdb++` interactive prompt will appear, offering advanced debugging features. You can then use commands like `n` (next), `s` (step), `c` (continue), `l` (list), and `sticky`.

import pdb def my_function(a, b): result = a + b pdb.set_trace() # Execution will pause here return result if __name__ == '__main__': print(my_function(5, 3))
pdb --version
Debug
Known issues
gotchaLeaving `pdb.set_trace()` calls in production code will halt program execution unexpectedly. Always remove or comment out breakpoints before deploying.
fix
Manually remove `pdb.set_trace()` calls or use conditional breakpoints. Many teams search for 'pdb.' before commits.
affects: All versions
gotchapdb++'s 'smart command parsing' prioritizes local variables over debugger commands if they share the same name (e.g., a variable `c` vs. the `continue` command).
fix
To force a command when ambiguity exists, prefix it with `!!` (e.g., `!!c` to execute `continue`).
affects: All versions
breakingOlder versions of `pdbpp` experienced compatibility issues with `python -m pdb` when running on Python 3.11 and newer versions.
fix
Upgrade `pdbpp` to version 0.12.1 or higher to ensure full compatibility with Python 3.11+ for `python -m pdb` usage.
affects: <=0.12.0 (specifically affected 3.11+)
gotchaWhen `pdbpp` is used in remote debugging setups (e.g., with `remote-pdb`), advanced features like 'sticky mode' and TAB completion may not function correctly due to terminal environment differences.
fix
Be aware of potential feature limitations in non-local terminal environments. Direct terminal interaction offers the best experience.
affects: All versions
gotchaSome online resources might suggest that `pdbpp` is unmaintained. This is often a misunderstanding; while `pdbp` (a separate project) builds upon `pdbpp` and offers its own enhancements, `pdbpp` itself continues to be actively maintained with recent releases and GitHub activity.
fix
Refer to the official PyPI page and GitHub repository for the latest maintenance status and release information.
affects: N/A (confusion-related)
Upgrade
Version history
0.12.1latest on PyPI · released Feb 23, 2026
Audit
Dependencies
fancycompleterrequiredProvides colorful TAB completion for Python expressions.
PygmentsoptionalEnables optional syntax highlighting for code listings and sticky mode.
wmctrloptionalRequired for the 'exec_if_unfocused' configuration option, which executes a shell command when the debugger prompt starts and the terminal is unfocused.
Agent activity
7 hits · last 30 days
node
6
Resources
pdbpp — pip install pdbpp · libregistry