I have a multithreaded Python application running on a Linux server. I can use PyDev's Debug Server to remotely debug into it, which seems like a very valuable debug resource. There is however a problem I'm seeing that's preventing it from being as helpful as I would like.
While my application is running on the server, I can go into Eclipse on the other box, suspend MainThread, get a nice stack trace of what it was up to at the time, then resume execution. It's great. However, when I try that on one of the child threads, the suspend button grays out but there's no stack trace and everything just keeps on running as normal. I can see in the Debug window that there IS a child thread and it's PID, but can't really control it or see what it is up to. Right-clicking and trying the helpful-sounding "copy stack" only gives me "Thread-4 - pid29848_seq5".
Breakpoints seem to work okay. If a child thread hits one of those, I can step through and watch variables and such. However, using that effectively requires me to already have a specific point of interest in the code. I'm really more looking to run my application and, when it gets into an unusual state, use PyDev to see what's up.
Do I have something wrong with my setup? Is this just a limitation of PyDev I'm up against? How can I see what's going on with the child threads?