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.
Basic debugging If you're only interested in debugging a Python script, the simplest way is to select the down-arrow next to the run button on the editor and select Debug Python File in Terminal.
To do so, select Debug → Debugger from the Python IDLE menu bar. In the interpreter, you should see [DEBUG ON] appear just before the prompt ( >>> ), which means the interpreter is ready and waiting. In this window, you can inspect the values of your local and global variables as your code executes.
In any case, right-click the appropriate file and select Set as Startup File. The debugger always starts with the active Python environment for the project. To change the environment, make a different one active as described on Select a Python environment for a project.
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:
(source: winpdb.org)
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With