我在调试时有时会遇到如此困难的情况。我有一个包含许多条目的Java HashMap,并且该程序无法按预期工作,因为它表示地图不包含特定条目,但该条目应该在地图中。但是,我无法调试到地图中。在Eclipse中,我可以在变量中看到Map的内部结构,但是如果有这么多条目,则难以对地图中的所有条目进行目录扫描,以查看该条目是否在地图中。
有没有更好的方法来调试这种情况?为了您的见解和想法。
答案 0 :(得分:3)
大多数调试器允许您在坐在调试断点中时计算表达式,而Eclipse也不例外(请参阅Eclipse help - Evaluating expressions)。只需评估myMap.get(theKey)
以查看该条目是否在地图中。
另一个选择是大多数调试器在Variables视图中显示对象的toString()
值。如果地图没有太多条目,您应该能够看到地图的所有条目。
答案 1 :(得分:0)
可以附加java源代码进行调试。然后可以调试到地图。或者在调试器中尝试表达式求值。
答案 2 :(得分:0)
有一个名为" ArrayExplorer" (它可以在http://www.cvast.tuwien.ac.at/projects/visualdebugging/ArrayExplorer探索任意集合 - 而不仅仅是数组。我还没有尝试过,但视频看起来可能就是你想要的。