Search code examples
pythonremote-debugging

How do I attach a remote debugger to a Python process?


I'm tired of inserting

import pdb; pdb.set_trace()

lines into my Python programs and debugging through the console. How do I connect a remote debugger and insert breakpoints from a civilized user interface?


Solution

  • use Winpdb. It is a platform independent graphical GPL Python debugger with support for remote debugging over a network, multiple threads, namespace modification, embedded debugging, encrypted communication and is up to 20 times faster than pdb.

    Features:

    • GPL license. Winpdb is Free Software.
    • Compatible with CPython 2.3 through 2.6 and Python 3000
    • Compatible with wxPython 2.6 through 2.8
    • Platform independent, and tested on Ubuntu Gutsy and Windows XP.
    • User Interfaces: rpdb2 is console based, while winpdb requires wxPython 2.6 or later.

    Screenshot
    (source: winpdb.org)

    winpdb-reborn · PyPI

    GitHub - bluebird75/winpdb: Fork of the official winpdb with improvements