gpt4 book ai didi

python - 使 PyDev 挂起以在 MainThread 以外的线程上工作

转载 作者:行者123 更新时间:2023-12-03 12:44:23 25 4
gpt4 key购买 nike

我有一个运行在 Linux 服务器上的多线程 Python 应用程序。我可以使用 PyDev 的 Debug Server 远程调试进去,这似乎是一个非常有值(value)的调试资源。然而,我发现有一个问题阻止它像我希望的那样有用。

当我的应用程序在服务器上运行时,我可以进入另一个机器上的 Eclipse,挂起 MainThread,获得一个很好的堆栈跟踪,了解它当时的状态,然后继续执行。这很棒。但是,当我在其中一个子线程上尝试时,挂起按钮变灰,但没有堆栈跟踪,一切都继续正常运行。我可以在调试窗口中看到有一个子线程并且它是 PID,但无法真正控制它或查看它在做什么。右键单击并尝试听起来很有帮助的“复制堆栈”只会给我“Thread-4 - pid29848_seq5”。

断点似乎工作正常。如果子线程遇到其中之一,我可以逐步查看变量等。但是,有效地使用它需要我已经对代码有一个特定的兴趣点。我真的更希望运行我的应用程序,当它进入异常状态时,使用 PyDev 看看发生了什么。

我的设置有问题吗?这只是我遇到的 PyDev 的限制吗?我怎样才能看到子线程发生了什么?

最佳答案

在看了 Fabio 的一篇帖子后,我设法弄清楚了:

threading.settrace(pydevd.GetGlobalDebugger().trace_dispatch)

应在调用 pydev.settrace() 后添加

关于python - 使 PyDev 挂起以在 MainThread 以外的线程上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com