1
7
如果您没有任何关于出错原因的其他提示(比如您的单元测试指出了导致这种情况的具体案例,或者如果pyfunc的回答没有明确说明为什么会发生这种情况),那么启用延迟调试以获取有关指定延迟调试的第一个(也是唯一允许的)结果的位置的信息:
或者
或者
您将获得额外的堆栈跟踪和错误报告,就像您遇到的那样。额外的堆栈跟踪将告诉您问题中的延迟是在何处创建的,以及它第一次被调用的位置(对它调用了.callback()或.errback())。
不幸的是,增加的模糊性只是使用的成本
|
2
2
我猜在您的代码中,您显式地调用了deferred的回调。这种情况也发生过多次。延迟回调只能触发一次,这表示等待已久的任务已完成,从而导致错误或肯定结果。Twisted有一种机制,如果您多次尝试触发延迟的异常,则抛出上述异常。 考虑以下代码:
这将导致以下错误:
在你的代码中检查这种多次开火的可能性。这可能就是问题所在。 |
SRobertJames · 使用printf的gdb显示 1 年前 |
Subin · 在vscode中运行c时出错 1 年前 |
Community wiki · 如何调试Python内存故障? 1 年前 |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |
Chris Brandon · 如何使节点在堆栈溢出时中断? 2 年前 |