我有一个包含10个值的数组,但是在我的代码中某个值的某个位置发生了变化?

时间:2018-08-09 14:38:39

标签: java arrays debugging

我目前正在使用Eclipse IDE调试代码,并试图找出发生此更改的位置。无论如何,我可以将调试器设置为期望某些值的数组,然后显示其中一个值为何不期望的位置或原因吗?或其他有关如何缩小范围的提示

1 个答案:

答案 0 :(得分:0)

假设您使用的是最新版本的eclipse: 您可以编写一个getter并通过该getter封装对数组的所有访问,假设您已修改了对所有访问调用的访问。 但是,由于严格来说数组是其自身的对象,因此方法可以在代码中的任何点传递对数组的引用,这使得无法完全捕获所有可能的访问。 此外,即使数组中的单个对象也可以在任何地方引用,因此可以自行对其进行修改。

要对此进行调试,请首先隔离是否在数组内替换对象,或者对象内的值是否更改。 如果是第一种情况,则必须按照说明去追随数组本身。 如果是第二种情况,则可以在更改的对象内的属性上设置“观察点”。另外,如果值始终以相同的方式更改(例如更改为相同的值),则可以在断点处将该条件设置为条件(右键单击该点,然后转到“断点属性”。然后选中“条件”复选框,然后在下面的框中输入您的条件。