pdb++

Drop-in replacement for Python's pdb debugger — enhances pdb with syntax highlighting, tab completion, smart command detection, and sticky mode. pdb++ features: automatic activation (just import pdb; pdb.set_trace() uses pdb++ if installed), colorized source display, tab completion for Python expressions, sticky mode (persistent source view as you step), ! prefix for code execution disambiguation, smart command detection (p x works even when x is a pdb command), smart breakpoints with filename:function:condition syntax, fancycompleter integration, and full pdb compatibility. Zero configuration — installs over pdb automatically.

Evaluated Mar 06, 2026 (0d ago) v0.10.x
Homepage ↗ Repo ↗ Developer Tools python pdbpp pdb debugger interactive colorized tab-completion
⚙ Agent Friendliness
67
/ 100
Can an agent use this?
🔒 Security
84
/ 100
Is it safe for agents?
⚡ Reliability
80
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
80
Error Messages
85
Auth Simplicity
99
Rate Limits
99

🔒 Security

TLS Enforcement
85
Auth Strength
85
Scope Granularity
85
Dep. Hygiene
88
Secret Handling
80

Local debugger with no network access. The ! prefix executes arbitrary Python — only safe in development environments. Never leave pdb.set_trace() or breakpoint() in production code. pdb++ can display secret values in tab completion and variable inspection — use only on trusted machines.

⚡ Reliability

Uptime/SLA
78
Version Stability
80
Breaking Changes
80
Error Recovery
80
AF Security Reliability

Best When

Developers already familiar with pdb wanting enhancement without learning new tool — pdb++ activates automatically and improves pdb with zero configuration or workflow changes.

Avoid When

You want visual TUI debugging (use pudb), remote debugging (use debugpy/pudb.remote), or GUI debugging (use VS Code).

Use Cases

  • Agent enhanced pdb — import pdb; pdb.set_trace() — automatic pdb++ activation; agent code uses standard pdb API; pdb++ enhances with colors and completion transparently; no code changes needed after pip install pdbpp; existing breakpoint() calls also use pdb++
  • Agent sticky mode debugging — in pdb++ session: type 'sticky' — source view stays visible while stepping; agent code walkthrough shows current line highlighted in persistent source panel; sticky mode prevents context loss when stepping through many lines
  • Agent expression exploration — (Pdb++) p agent.memory['context']['messages'][-1] — tab completion for deep attribute access; pdb++ completes attribute names and dict keys; agent debugger explores complex nested state without typing full paths
  • Agent conditional breakpoint — (Pdb++) b agent.py:process_message, len(message) > 1000 — conditional breakpoint with expression; agent only breaks when large messages are processed; pdb++ evaluates condition in current scope; standard pdb also supports this but pdb++ makes it easier
  • Agent post-mortem — import pdb; pdb.pm() — drop into pdb++ at last exception; agent run sys.last_traceback for most recent exception; pdb++ colorizes the stack; same as pdb.post_mortem() but shorter; combine with try/except: except Exception: pdb.post_mortem()

Not For

  • Visual TUI debugging — pdb++ is command-line enhanced pdb; for visual TUI use pudb
  • Production code — debuggers add overhead; remove pdb calls before deployment
  • Remote debugging — pdb++ has no built-in remote debugging; use pudb.remote or debugpy for remote

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

No auth — local debugging tool.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

pdb++ is BSD licensed. Free for all use.

Agent Metadata

Pagination
none
Idempotent
Partial
Retry Guidance
Not documented

Known Gotchas

  • pdb++ auto-activates — after pip install pdbpp, ALL pdb.set_trace() and breakpoint() calls use pdb++; agent environments with pdbpp installed behave differently from those without; this is a feature but can surprise team members; uninstall pdbpp to revert to standard pdb
  • Smart command detection can surprise — pdb++ auto-detects if input is pdb command or Python expression; typing 'list' runs 'll' source listing; typing 'p list' prints list object; typing '!list' forces Python evaluation; agent debugging must use ! prefix for expressions that look like pdb commands
  • Sticky mode not persistent across restarts — 'sticky' command enables persistent source view for current session; next pdb session starts without sticky; add to ~/.pdbrc: from pdbpp import sticky; sticky() — for automatic sticky mode on every pdb start
  • Tab completion requires fancycompleter — pdb++ tab completion depends on fancycompleter package; pip install pdbpp installs it as dependency; if fancycompleter is missing, completion falls back to readline; agent development environments should verify fancycompleter is installed
  • Color support depends on terminal — pdb++ syntax highlighting requires terminal with color support; TERM=dumb or redirected stdout disables colors; agent scripts running pdb via subprocess may not get colors; SSH sessions need TERM=xterm-256color forwarded
  • pytest --pdb uses pdb++ automatically — pytest integration: pytest --pdb opens pdb++ (if installed) on test failure; agent CI with pytest --pdb flag gets pdb++ without explicit configuration; ensures consistent debugging experience across developer machines with pdbpp installed

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for pdb++.

$99

Scores are editorial opinions as of 2026-03-06.

5208
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered