{"id":4680,"library":"pdbp","title":"pdbp (Pdb+)","description":"pdbp (Pdb+) is a Python debugger designed as a drop-in replacement for the standard `pdb` and the enhanced `pdbpp` debuggers. It aims to provide an improved debugging experience with additional features and better usability, including syntax highlighting and more powerful commands. As of version 1.8.2, it maintains an active release cadence with frequent updates for bug fixes, new Python version support, and feature enhancements.","status":"active","version":"1.8.2","language":"en","source_language":"en","source_url":"https://github.com/mdmintz/pdbp","tags":["debugging","debugger","pdb","developer-tool"],"install":[{"cmd":"pip install pdbp","lang":"bash","label":"Install pdbp"}],"dependencies":[],"imports":[{"symbol":"set_trace","correct":"import pdbp; pdbp.set_trace()"}],"quickstart":{"code":"import pdbp\n\ndef my_function(x, y):\n    print(f\"Before addition: x={x}, y={y}\")\n    pdbp.set_trace() # The debugger will pause execution here\n    result = x + y\n    print(f\"After addition: result={result}\")\n    return result\n\nif __name__ == '__main__':\n    print(\"Starting program...\")\n    my_function(5, 3)\n    print(\"Program finished.\")","lang":"python","description":"This quickstart demonstrates how to invoke the pdbp debugger within your Python code. When `pdbp.set_trace()` is called, execution will pause, and you'll enter the interactive debugger prompt. You can then use standard pdb commands (like `n` for next line, `s` for step, `c` for continue, `p <variable>` to print a variable) to inspect the program's state."},"warnings":[{"fix":"Upgrade to Python 3.8+ or pin `pdbp` version to `<1.6.0`.","message":"Support for Python 3.7 was dropped in `pdbp` v1.6.0. Users on Python 3.7 or older will need to use an earlier version of `pdbp` or upgrade their Python interpreter.","severity":"breaking","affected_versions":"<1.6.0"},{"fix":"Upgrade to `pdbp` v1.5.4 or newer to ensure `PyInstaller` compatibility.","message":"Older versions of `pdbp` (prior to v1.5.4) had compatibility issues when used with `PyInstaller` due to non-zip-safe loading of the standard library `pdb`. This could lead to errors when bundling applications.","severity":"gotcha","affected_versions":"<1.5.4"},{"fix":"Upgrade `pdbp` to v1.7.1 or newer to ensure proper integration with recent `pytest` and Python versions.","message":"`pdbp` v1.7.1 included updates to support changes made in `pytest` v8.4.0+ for Python 3.13+. If you are using these newer versions of `pytest` and Python, older `pdbp` versions might exhibit compatibility problems with the debugger integration.","severity":"gotcha","affected_versions":"<1.7.1 (with pytest >=8.4.0 and Python >=3.13)"},{"fix":"Upgrade to `pdbp` v1.8.2 or newer for accurate stack-trace frame indexing.","message":"`pdbp` v1.8.2 repaired an issue with stack-trace frame indexing. Prior versions might have displayed incorrect or confusing frame indices, potentially leading to misinterpretations of the call stack during debugging.","severity":"gotcha","affected_versions":"<1.8.2"}],"env_vars":null,"last_verified":"2026-04-12T00:00:00.000Z","next_check":"2026-07-11T00:00:00.000Z"}