docs | |
---|---|
tests | |
package |
Remote vanilla PDB (over TCP sockets) done right: no extras, proper handling around connection failures and CI. Based on pdbx.
- Free software: BSD license
To open a remote PDB on first available port:
from remote_pdb import set_trace
set_trace() # you'll see the port number in the logs
To use some specific host/port:
from remote_pdb import RemotePdb
RemotePdb('127.0.0.1', 4444).set_trace()
To connect just run telnet 127.0.0.1 4444
. When you are finished
debugging, either exit the debugger, or press Control-], then Control-d.
Alternately, one can connect with NetCat: nc -C 127.0.0.1 4444
or Socat: socat readline
tcp:127.0.0.1:4444
(for line editing and history support). When finished debugging, either exit
the debugger, or press Control-c.
In certain scenarios (backgrounded processes) OS X will prevent readline to be imported (and readline is a dependency of pdb). A workaround (run this early):
import signal
signal.signal(signal.SIGTTOU, signal.SIG_IGN)
See #9 and cpython#14892.
Python 2.6, 2.7, 3.2, 3.3 and PyPy are supported.