Eclipse Java条件观察点

时间:2014-10-22 07:03:05

标签: java eclipse conditional-breakpoint watchpoint

Eclipse支持条件断点,当条件为真时,它会在特定行中断。

它还支持在访问/修改给定变量时立即中断的观察点,而不管导致修改的行。

我如何创建一个条件观察点,使其在给定变量被修改的任何一行中断并且条件为真?

例如:在变量X上设置MODIFY观察点,使其仅在X设置为值>时断开。 1000

编辑: 假设可以从许多不同的方法更改字段,可能在不同的包中。可以想象,在条件为真时,可以在每个位置创建条件断点。但是,触摸此变量的位置数量可能很多,而放置断点的位置相当低效(从人的角度来看)。另一种选择是在任何时候修改字段时自动中断的观察点,无论它在代码中从哪里被修改。但是,我不知道只有在满足条件时才能让观察点断开。

2 个答案:

答案 0 :(得分:1)

在这种情况下,为什么不只是创建一个条件断点"暂停时为true"并作为条件

X > 1000 && (your other condition)

答案 1 :(得分:0)

我不确定在断点选项中是否可以提供您想要的内容 - 但是一个简单的解决方法是:

要添加一个包含origianl值的新变量,请使用它来创建一个具有所需效果的断点检查。

int originalValue = value;

然后在断点内:

value != originalValue && value > 1000

当值发生变化并且大于1000时,将触发此断点。

编辑: 如果您试图在代码中找到可能发生此类更改的随机位置,那么我建议的方法只有一种:

使有问题的变量private并强制对它的所有引用都要通过getter / setter方法。然后你只需要在setter方法中添加一个断点,然后你就可以很快找到你要找的东西。