Eclipse调试器和集合

时间:2012-09-21 08:53:43

标签: eclipse debugging

我有一些我想在Eclipse调试器中分析的集合。我对每个元素的特定属性感兴趣。

我们以Person s列表为例(每个address属性,city属性又有list.get(i).address.city属性。在调试器中,我可以查看每个元素或查看map

对大型结构这样做并不是很有帮助。是否有可能将函数应用于数据结构,类似于Perl中的map { $_->{address}->{city} } @list 函数(在调试器中而非代码中)。

输入将是我的列表,其中包含我感兴趣的路径(Person.address.city),输出列表中只包含所选元素(带有我的示例的城市列表)。

Perl:

String

修改

我可以使用详细格式化程序生成StringBuilder sb = new StringBuilder(); for (Person p : this) { sb.append(p.address.city()); sb.append(", "); } return sb.toString();

String

这将使我感兴趣的元素(作为List)格式化我的列表。

虽然它朝着正确的方向发展,但如果我能够返回一个我可以用调试器分析的新{{1}},那将会很不错。

2 个答案:

答案 0 :(得分:3)

我认为,您感兴趣的Eclipse Debugger功能称为逻辑结构。您可以在Eclipse首选项(Java / Debug / Logical结构)中定义逻辑结构,您可以在其中编写这样的表达式(希望如此),然后在变量视图中可以替换弹出菜单中列表的显示。

有关基本提示,请参阅此博文:http://www.javalobby.org/forums/thread.jspa?threadID=16736&messageID=91823528

答案 1 :(得分:2)

显示视图使您能够在每个断点处执行自定义代码。只需在断点处读出您的数据结构并将其打印到控制台即可。