Kozyarchuk
Kozyarchuk

Reputation: 21837

Debugging a running python process

Is there a way to see a stacktrace of what various threads are doing inside a python process?

Let's suppose I have a thread which allows me some sort of remote access to the process.

Upvotes: 17

Views: 4831

Answers (2)

nosklo
nosklo

Reputation: 222842

Winpdb 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)

Upvotes: 6

Trey Stout
Trey Stout

Reputation: 6911

About 4 years ago, when I was using twisted, manhole was a great way to do what you're asking.

http://twistedmatrix.com/projects/core/documentation/howto/telnet.html

Right now most of my projects don't use twisted, so I just WingIDE's remote debugging hooks to introspect a running process.

http://www.wingware.com/doc/debug/remote-debugging

Upvotes: 2

Related Questions