Mark Jones via wingide-users wrote:
> Is there an easy way to pause all the other threads while debugging
> the thread that hit a breakpoint?
> If I have 2 or 3 breakpoints in my code, stepping in one thread can
> switch me to another thread which is irritating. Also, not sure how
> to get back to the thread I'm actually interested in
The only way to _not_ stop other threads when one threads stops is to
use wingdbstub and the debugger API. Unless you are doing that, Wing's
debugger tries to stop all threads if any thread stops. However, if
some threads are not getting run or are running only C/C++ code then
they are not stopped. I suspect when you're stepping in the debugger
you're going over things that end up yielding to the other threads and
debugging moves there because Python starts to run some other thread.
The stack selector in the Debug Probe, Stack Data, and a few other tools
should have a popup to the left with all the threads in it, and that can
be used to change what the current thread is, as far as what data the
debugger is showing and in what context the Debug Probe is executing
things. But there is no way to continue stepping in a specific thread.
Python's program counter is at a specific location/thread and when you
step you'll be continuing there. Setting breakpoints or conditional
breakpoints in strategic places and continuing the debugger (instead of
stepping) is probably the way to go.
I hope this is helpful.
Wingware | Python IDE
The Intelligent Development Environment for Python Programmers