java - Eclipse Java 调试器 : easier way see values in the debugger that are in nested collections?

标签 java eclipse debugging

我是调试器和 Eclipse 的新手。

我遇到过很多情况,持有者对象 POJO 被放入集合中,有时这些集合甚至被放入其他集合中。

在调试一个循环时会变得非常麻烦,不断打开许多树节点只是为了查看特定变量的值,结果不是我想要的,必须前进到下一步,然后不得不再次打开所有这些树节点。

我尝试设置一个“监视”,但在调试器的其余部分中显示的值并未显示在那里。

我对调试器不是很熟悉,所以我可能误解了 watch 的概念。

无论如何,当某个变量嵌套在多个集合或对象中时,是否有一种简单的方法可以查看该变量的值,这样我就不必每次想查看它时都伸展树(Splay Tree)节点?

最佳答案

Watch 是您要找的东西,也是我个人最喜欢的工具。

唯一的规则是,您只能在您的上下文中观察变量(即全局变量 + 局部变量,无论您在代码中的什么位置)

因此,如果您有一个 aCollection.get(i).bCollection.get(j).cCollection,只要您有权访问当前上下文中的 aCollection,就可以查看此变量。

如果没有,请检查您如何获得 aCollection(它与您当前的方法有何关系)。

如果在一种方法中从 newVar.getCollection() 中检索 aCollection,而在另一种方法中您可以直接检索 aCollection,那么 - 您可以创建 2 个变量来观察:

  1. aCollection.get(i).bCollection.(j).cCollection;
  2. newVar.getCollection().get(i).bCollection.get(j).cCollection;

这应该使您能够相对轻松地从这两种方法查看 cCollection

关于java - Eclipse Java 调试器 : easier way see values in the debugger that are in nested collections?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25371359/

相关文章:

android - 在哪里下载 Eclipse?

c++ - 使用指针时调试断言失败

java - 如何为 Android 应用程序中的所有线程设置 uncaughtExceptionHandler?崩溃仅在某些情况下发生

java - 在接口(interface)实现中不实现异常抛出可以吗?

java - 获取 Spark 的流窗口时间戳

java - 有没有办法将上下文传递到 onDrawFrame(GL10 gl) 中?

java - 为什么将文件导入 eclipse 项目时使用链接选项?

eclipse - Ubuntu 12.04 中没有用于 Eclipse Juno 的 HTTP 预览服务器

c++ - 调试 InProc COM Dll

c# - Debug.Assert/Retry,32 位和 64 位的不同行为