我正在使用pydev(最新版本),调试器不再工作(特别是断点不起作用)。我收到一个奇怪的错误:
pydev调试器:启动 回溯(最近一次调用最后一次):
没有进一步的文字。 ...
我正在使用stackless python 2.7和pyside(几乎是最新版本)。无效的断点不在无堆栈的tasklet中。
任何人都知道原因或解决方法吗?
好的,(有点尴尬)我过去遇到过类似的问题,张贴在这里并得到了广泛的帮助here
我使用该帖子来查明此方法的问题:
def __getattr__(self, name):
if name in self._code_:
func = self.getfunction(name)
setattr(self, name, func)
return func
else:
return super(AtomicProcess, self).__getattr__(name)
我想使用这个或类似的方法在最新的可能时间(当它被调用时)设置属性。我添加了超级调用以解决问题,但没有骰子。
另外我应该提一下,我的代码运行没有问题,但是调试器似乎在上面的方法中进行了一些无限递归,在此方法之后恢复并忽略断点。
干杯,拉尔斯
PS:有人吗? pydev开发人员是否遵循stackoverflow或者我可能会尝试另一个地方吗?答案 0 :(得分:0)
虽然我不确定是什么(如果你能把代码传递给我,我可以看看它,但是没有它,我唯一可以做的就是指向最后一个帖子我们有)。
请记住,如果你有一个递归异常,这会打破Python调试工具......同时你可以做的解决方法是使用远程调试器来改进它。
我确实有一种预感:
我的猜测是你在'self'中访问了一些再次调用__getattr__
的东西......(它产生一个递归并打破了调试器)。
另一个可能的事情:不要在super(AtomicProcess, self).__getattr__(name)
中使用“超级”习语,而是直接使用超类:Superclass.__getattr__(self, name)
...
干杯,
的Fabio