【问题标题】:How to see all changes in complex variable using Eclipse Juno如何使用 Eclipse Juno 查看复杂变量的所有变化
【发布时间】:2013-03-01 20:53:42
【问题描述】:

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

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

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

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

任何帮助将不胜感激。

查尔斯。

【问题讨论】:

  • 考虑将此作为功能请求。调试器还知道值何时发生更改并以黄色突出显示它们

标签: java eclipse debugging object breakpoints


【解决方案1】:

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

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

【讨论】:

  • 对象也是 jar 的一部分。因此,我可以在 Eclipse 中查看成员,但我无法访问它们以便编写自己的 toString 方法。我无法复制和粘贴在变量/表达式窗口中看到的内容,这让我很抓狂。
  • 这真的很烦人。 ://
【解决方案2】:

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

【讨论】:

  • 这真的很漂亮,我不知道详细格式化程序。谢谢!
猜你喜欢
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 2011-10-17
  • 2021-02-03
  • 2013-09-05
  • 2013-11-17
相关资源
最近更新 更多