rpdb

raw JSON →
0.2.0 verified Fri May 01 auth: no python maintenance

A remote debugger wrapper around pdb that exposes the debugger on a TCP socket (default port 4444), allowing you to connect with telnet or netcat. Current version: 0.2.0. Infrequently maintained; last release 2021.

pip install rpdb
error ImportError: No module named 'rpdb'
cause rpdb is not installed, or the environment does not have it.
fix
Run 'pip install rpdb'.
error Connection refused when connecting to localhost:4444
cause The process with rpdb.set_trace() is not running, or the breakpoint hasn't been hit yet, or a firewall is blocking the port.
fix
Ensure the script is running and hits the breakpoint. Check that no firewall blocks port 4444. Verify the port with 'ss -tlnp | grep 4444' or 'netstat -an | grep 4444'.
gotcha rpdb opens a TCP socket on port 4444. If the breakpoint is hit in a subprocess or forked process without proper setup, you may get multiple listeners or port conflicts.
fix Ensure only one process hits the breakpoint, or set RPDB_PORT environment variable to different ports per process.
breaking rpdb 0.2.0 dropped support for Python <3.8. If you are on an older Python, you must use an earlier version (e.g., 0.1.5).
fix Upgrade to Python 3.8+ or pin rpdb to <0.2.0.
gotcha rpdb does not work with pdb++ or other pdb replacements. It directly wraps the standard library pdb.
fix Use rpdb only with the standard pdb, or consider alternatives like remote-pdb.

Place rpdb.set_trace() in your code where you want to break. When the breakpoint is hit, rpdb listens on TCP port 4444. Connect using netcat or telnet to interact with the debugger.

import rpdb
rpdb.set_trace()
# Your code here, then connect via: nc localhost 4444