我不是编程的新手,但我只是学习 Java 语言和 Eclipse 。我想看看Java如何使用Eclipse的调试工具(JDT Debug)在内部为一些“标准”导入类进行内部工作。我的设置(Windows 8.1上的Oxygen w / JDK SE8)在单步执行代码时工作正常,但许多导入的类变量无法放入监视列表或表达式监视器,我认为这是因为它们未定义作为“公众”。
举个例子:我想了解 java.math.BigInteger 是如何工作的,所以我编写了一个使用 pow()方法的快速程序。程序运行成功,当使用调试模式时,我也可以跟踪流量。我似乎无法做的是查看内部“默认”(无访问修饰符)变量的值。以下是BigInteger.java中的三个变量(第2225-2231行):
int powersOfTwo = partToSquare.getLowestSetBit();
long bitsToShift = (long)powersOfTwo * exponent;
if (bitsToShift > Integer.MAX_VALUE) {
reportOverflow();
}
int remainingBits;
有关如何将这些变量公开给JDT Debug以进行学习的任何建议吗?
答案 0 :(得分:0)
我想这不是关于公开与非公开,而是关于字段与局部变量。
编译可能会丢弃有关局部变量的信息,因此调试器不再具有有关其名称的信息。在这种情况下,无法解析使用该名称的监视表达式。但是,Variables view仍应显示值,尽管有arg0
这样的人工名称...您仍然可以将变量与您在源代码中看到的相关联,因为局部变量仅添加到在步进过程中,当您到达相应的声明时,变量视图。