Eclipse JDT - 如何观察非 public 变量?

Eclipse JDT - How to watch non-public variables?

我不是编程的新手,但我只是在学习Java语言和Eclipse 。我想看看 Java 如何使用 Eclipse 的调试工具(JDT 调试)在内部为某些导入的 "standard" 类 工作。我的设置(Oxygen w/ JDK SE8 on Windows 8.1)就单步执行代码而言工作正常,但许多导入的 Class 变量无法放入监视列表或表达式监视器,我认为这是因为它们没有定义为 "public".

举个例子:我想了解 java.math.BigInteger 是如何工作的,所以我写了一个使用 pow() 方法。该程序成功运行,并且在使用调试模式时我也能够很好地跟踪流程。我似乎无法做的是查看内部 "default" (无访问修饰符)变量的值。下面是在 BigInteger.java(第 2225-2231 行)中找到的三个这样的变量:

int powersOfTwo = partToSquare.getLowestSetBit();
long bitsToShift = (long)powersOfTwo * exponent;
if (bitsToShift > Integer.MAX_VALUE) {
    reportOverflow();
}

int remainingBits;

关于如何将这些变量公开给 JDT 调试以供学习的任何建议?

我想这不是关于 public 与 non-public 的问题,而是关于字段与局部变量的问题。

编译可能会删除有关局部变量的信息,因此调试器不再具有有关其名称的信息。在那种情况下,无法解析使用该名称的监视表达式。然而,Variables view 应该仍然显示该值,尽管使用了像 arg0 这样的人为名称......您仍然可以将变量与您在源代码中看到的内容相关联,因为局部变量仅添加到在步进过程中到达相应声明时的变量视图。