如何使用Eclipse Juno查看复杂变量的所有更改

时间:2013-03-13 18:25:39

标签: java eclipse debugging object breakpoints

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

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

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

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

非常感谢任何帮助。

查尔斯。

2 个答案:

答案 0 :(得分:2)

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

我不知道如何用Eclipse另外做这件事。

答案 1 :(得分:1)

为您要检查的对象写一个detail formatter。你可以想象它就像一个“外化的toString()方法”。它甚至可以让您访问被检查对象的私有成员。然后,您可以将此输出提供给首选的差异工具。