2

我有一个复杂的对象,有 30 个左右的字段,它们本身包含有很多字段的对象。

我真正想做的是这个;在断点处,按 ctrl-c 复制整个结构,正如我在变量(或表达式)窗口中看到的那样。然后运行一些代码,然后再次 ctrl-c 整个结构,然后并排比较它们。

但是,Eclipse (Juno) 不允许我复制整个结构。即使我在单步执行代码时展开对象内的所有对象,它也不会突出显示对从一行到下一行的每个字段所做的更改。

我也可以在修改对象时以某种方式创建某种断点触发器,但它是一个外部 jar 文件进行修改,所以我不确定它是如何工作的,我也不认为 Eclipse 会费心向我展示如果可能的话,改变的数据。(如果是,那根本不直观)。

任何帮助将非常感激。

查尔斯。

4

2 回答 2

2

您可以使用 Eclipse 自动生成 toString() 方法,然后以这种方式比较对象。这将允许您在执行的不同时间复制和比较对象。

不过,我不确定如何使用 Eclipse 以另一种方式做到这一点。

于 2013-03-13T18:27:28.943 回答
1

为您要检查的对象编写一个详细格式化程序。您可以将其想象为类似于“外部化的 toString() 方法”。它甚至可以让您访问被检查对象的私有成员。然后,您可以将此输出提供给您首选的差异工具。

于 2013-03-16T15:38:43.427 回答