What problem does it solve?
Debugging Python code is often frustrating when dealing with hidden local variable state, confusing state mutations, failing tests, subprocesses, long-running services, or remote/headless environments where standard debugging tools don't work out of the box.
Core Features & Use Cases
- Multi-Method Debugging Support: Choose between lightweight breakpoint() for local code with source edit access, built-in pdb for launching from the start without source edits, and debugpy for remote/headless processes, already-running PIDs, or service startup race conditions.
- Post-Mortem & Edge Case Handling: Includes built-in support for post-mortem debugging after unhandled exceptions, plus guidance for common edge cases like disabled parallel test workers, PID attach privilege issues, and cleanup of debug hooks before commit.
- Use Case: A developer debugging a failing test in a CI environment can use python3 -m pdb -c continue to stop exactly at the unhandled exception, or attach debugpy to a long-running staging service to inspect state without restarting it.
Quick Start
Use the python-debugpy skill to debug the failing Python script by stepping through execution and inspecting variable state to identify the root cause of the error.