PyCharm调试器不显示对象的内容:“无法获取<type'list>的代表”

Bar*_*ian 6 macos pydev pycharm

用PyCharm调试(在多个版本上发生)我无法正确查看某些列表和词典(其他显示正确)。在视图窗口中,对象名称随消息一起显示: {list} Unable to get repr for <type 'list>{dict} Unable to get repr for <type 'dict'>

更新:在我的一种尝试中,我从调试器收到了以下消息(显示出来,而不是列表变量之一的值):

无法显示子级:错误解析变量回溯(最近一次调用最近):文件“ / Applications / PyCharm CE.app/Contents/helpers/pydev/_pydevd_bundle/pydevd_comm.py”,行1004,位于do_it _typeName中,valDict = pydevd_vars。 resolve_compound_variable(self.thread_id,self.frame_id,self.scope,self.attributes)TypeError:“ NoneType”对象不可迭代

对于可能导致此行为的原因,我将不胜感激。

谢谢!

Bar*_*ian 5

原来问题是由于使用了 rpyc.py:我正在调试的进程是通过 rpyc 调用的,在我调试它时,调用进程在 rpyc 连接上收到超时。我认为这会导致通过 rpc 传递的变量失去完整性,因此调试器无法正确显示它们。

解决方案是将 rpyc.py 降级到 3.3.0 版(我在 3.4.2 上)。我的同事 Nurit Izraelov 正确地认为 rpyc.py 版本可能是罪魁祸首。

谢谢大家!


Fab*_*zny 2

可能您的某些自定义类有一个坏__repr____str__,并且调试器无法打印它。

此时您可能可以使用 shell 来了解哪些元素实际上位于这样的dictor内部list(并查看哪个对象有错误的__repr__or __str__)。