2

我正在使用 pydev(最新版本)并且调试器不再工作(特别是断点不起作用)。我收到一个奇怪的错误:

pydev 调试器:启动 Traceback(最后一次调用):

没有进一步的文字。...

我正在使用无堆栈 python 2.7 和 pyside(几乎是最新版本)。不工作的断点不在 stackless tasklet 中。

有人知道原因或解决方法吗?

好的,(有点尴尬)我过去也遇到过类似的问题,在这里发布并在这里得到了广泛的帮助

我使用该帖子来确定此方法的问题:

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)

我想使用这个或类似的方法在最晚的时间(当它被调用时)设置属性。我添加了超级调用来可能解决问题,但没有骰子。

  • 有谁知道是什么导致了这种方法的问题?
  • 有没有人有一个可以实现后期初始化但避免 pydev 问题的修复程序?

另外我应该提到我的代码运行没有问题,但是调试器似乎在上面的方法中进入了一些无限递归,在这个方法之后恢复并忽略了断点。

干杯,拉斯

PS:有人吗?pydev 开发人员是否在关注 stackoverflow,或者我可以尝试其他地方吗?

4

1 回答 1

1

似乎和上一期一样,虽然我不确定是什么(如果你能把代码传给我,我可以看一下,但没有它,我唯一能做的就是指向我们拥有的最后一个线程) .

请记住,如果您有递归异常,这会破坏 Python 调试工具......与此同时,您可以做的一种解决方法是使用远程调试器来改进它。

我确实有一个预感:我的猜测是您访问了“自我”中的某些东西,它正在__getattr__再次调用......(它会生成递归并破坏调试器)。

另一件可能的事情:不要在: 中使用“超级”习语,而是super(AtomicProcess, self).__getattr__(name)直接使用超类:Superclass.__getattr__(self, name)...

干杯,

法比奥

于 2012-10-18T16:58:58.863 回答