【发布时间】:2017-01-15 05:59:15
【问题描述】:
我正在 Windows 10 上使用 PyCharm (PyCharm Community Edition 2016.2.2 ; Build #PC-162.1812.1, built on August 16, 2016 ; JRE: 1.8.0_76-release-b216 x86 ; JVM: OpenJDK Server VM by JetBrains s.r.o) 调试 Python (3.5) 程序。
问题:当在某些断点处停止时,调试器窗口卡在“正在收集数据”,最终超时。(无法显示帧变量)
要显示的数据既不特殊,也不特别大。它以某种方式可用于 PyCharm,因为所述数据的某些值上的条件断点工作正常(程序中断) - 看起来收集它的过程仅用于显示(而不是操作目的)失败。
当我在有断点的地方进入一个函数时,它的数据会正确显示。当我上堆栈(到调用函数,我从中退出的那个以及我最初希望有断点的地方)时 - 我再次陷入“收集数据”超时。
至少自 2005 年以来,就同一点提出了许多问题。有些已修复,有些未修复。修复通常是更新到最新版本(我有)。
我是否有一个总体方向可以解决或解决这一系列问题?
编辑:一年后问题仍然存在,并且在提出错误后开发人员/支持人员仍然没有任何反应。
编辑 2018 年 4 月:看起来问题在 2018.1 版本中已解决,以下代码在 print 行上设置断点时挂起现在可以工作(我可以看到变量):
import threading
def worker():
a = 3
print('hello')
threading.Thread(target=worker).start()
【问题讨论】:
-
我遇到了完全相同的问题。您找到解决方案或至少找到解释了吗?
-
很遗憾没有。我向开发人员开了一张票,但反应为零(与另一个问题的另一张票相同)。虽然产品很棒,但支持并不存在。
-
我在 Keras 中拟合 LSTM 网络,当我尝试从调试器控制台执行“model.predict”时,我得到了这个废话。当我对前馈网络做同样的事情时,它并没有发生。当不在调试器/控制台中时,代码实际上运行得很好。奇怪又烦人。
-
我在调试大对象时也遇到了这个问题。还是没有解决办法吗?
-
我在调试单独的进程时得到了同样的结果
标签: python python-3.x debugging pycharm python-3.5