Eclipse支持条件断点,当条件为真时,它会在特定行中断。
它还支持在访问/修改给定变量时立即中断的观察点,而不管导致修改的行。
我如何创建一个条件观察点,使其在给定变量被修改的任何一行中断并且条件为真?
例如:在变量X上设置MODIFY观察点,使其仅在X设置为值>时断开。 1000
编辑: 假设可以从许多不同的方法更改字段,可能在不同的包中。可以想象,在条件为真时,可以在每个位置创建条件断点。但是,触摸此变量的位置数量可能很多,而放置断点的位置相当低效(从人的角度来看)。另一种选择是在任何时候修改字段时自动中断的观察点,无论它在代码中从哪里被修改。但是,我不知道只有在满足条件时才能让观察点断开。
答案 0 :(得分:1)
在这种情况下,为什么不只是创建一个条件断点"暂停时为true"并作为条件
X > 1000 && (your other condition)
答案 1 :(得分:0)
我不确定在断点选项中是否可以提供您想要的内容 - 但是一个简单的解决方法是:
要添加一个包含origianl值的新变量,请使用它来创建一个具有所需效果的断点检查。
int originalValue = value;
然后在断点内:
value != originalValue && value > 1000
当值发生变化并且大于1000时,将触发此断点。
编辑: 如果您试图在代码中找到可能发生此类更改的随机位置,那么我建议的方法只有一种:
使有问题的变量private
并强制对它的所有引用都要通过getter / setter方法。然后你只需要在setter方法中添加一个断点,然后你就可以很快找到你要找的东西。