我有一个在Linux服务器上运行的多线程Python应用程序.我可以使用PyDev的Debug Server远程调试它,这似乎是一个非常有价值的调试资源.然而,我看到的一个问题就是阻止它像我想的那样有用.
当我的应用程序在服务器上运行时,我可以在另一个盒子上进入Eclipse,暂停MainThread,获得当时最新的堆栈跟踪,然后恢复执行.这很棒.但是,当我在其中一个子线程上尝试时,挂起按钮会变灰,但是没有堆栈跟踪,所有内容都会保持正常运行.我可以在Debug窗口中看到有一个子线程和它的PID,但无法真正控制它或查看它是什么.右键单击并尝试有用的"复制堆栈"只能给我"Thread-4 - pid29848_seq5".
断点似乎工作正常.如果一个子线程击中其中一个,我可以单步执行并观察变量等.但是,有效地使用它需要我在代码中已经有一个特定的兴趣点.我真的更希望运行我的应用程序,当它进入一个不寻常的状态时,使用PyDev来查看是什么.
我的设置有问题吗?这只是PyDev的限制吗?我怎样才能看到子线程发生了什么?