我有一个全局变量(我知道),它在某个地方从一个好的值变为一个坏的值。我不知道在哪里,我想知道在哪里。我希望我的调试器(Eclipse / PyDev)能够在任何代码写入此全局变量时中断,类似于OllyDBG中的硬件断点。
我发现有时在这种情况下工作的一个技巧是将变量重构为属性,然后在该属性的setter中设置断点:对变量的任何访问都通过setter来获取我想要的东西调试器。在这种情况下,这不起作用。
想法?
答案 0 :(得分:2)
不幸的是,PyDev没有这样的功能(并且在考虑了如何实现之后,我无法想出一种方法来实现它) - 你为一个属性更改它的解决方案是我在需要该功能时使用的一个(并且它不适用于全局变量,正如你所说的......在这种情况下,我通常有一个包含变量的'holder'实例,而不是全局变量,其中如果它仍然可以创建一个属性让它工作)。
@slowdog:这是一个与观察点有关的不同问题(现在可以在PyDev上运行)。