【发布时间】:2020-01-27 09:13:27
【问题描述】:
有什么方法可以找到 python 会话中两个时期之间状态的总差异?
我想检测对任何全局变量的更改,包括任何任意嵌套的更改(例如对对象属性和容器元素的重新分配)。
这样做的原因是调试一个复杂的函数,该函数具有干扰另一个函数后续行为的意外副作用。 我想找出函数调用前后的变化。 (我希望看到更改的摘要。我不想手动跟踪所有级别的子例程,寻找不会超出范围并被修改且随后不会恢复到其原始状态的变量值。)我想我想要类似于内存堆的差异,但在更高的抽象级别。 (这在调试内存泄漏时也很有帮助。)标准库中是否已经有任何可以提供帮助的东西?
【问题讨论】:
-
如果你需要这种调试,那么你的功能太复杂了。在陷入无休止的调试之前,您应该尝试重构。
-
@KlausD。我正在尝试调试其他人的功能,但还不知道什么重构是相关的。