在Java程序运行时看到变量值的变化?

时间:2012-07-24 17:50:34

标签: java variables report

考虑一个包含许多变量的java程序,其中一些是循环计数器我希望看到这些变量的值随着时间的推移而变化,而不是在我的代码中将print语句放在任何地方。

为什么?我认为它可以帮助我轻松调试。

Example-
int a = 7;  
for(i=0; i<3; i++)
{
  a++;
}

当这个程序运行时,我希望得到这样的实时报告:

t is 0, a is 7, i is 0
t is 3, a is 8, i is 1
t is 12, a is 9, i is 2
(t is time, time factor is NOT necessary though)

5 个答案:

答案 0 :(得分:1)

您可以使用调试器。调试器将帮助您跟踪它,而无需实际将变量发送到STDOUT。我推荐DDD,因为它是免费且专业使用的。 http://www.gnu.org/software/ddd/

注意:为了避免混淆它的工作原理,DDD在JDB(JDK中包含的Java调试器)之上工作。

答案 1 :(得分:0)

您应该使用调试器并将断点放在要查看值的位置(在本例中为带有++的行)。您可以在每次迭代时看到值。

大多数IDE都有调试器(Intellij IDEA,Eclipse或NetBeans)。

答案 2 :(得分:0)

这是调试器用于...来逐步执行代码并检查变量的值。如果您希望代码经常打印出语句,可以使用Timer类和TimerTask在指定的时间间隔内打印出变量的值。

答案 3 :(得分:0)

1。使用Debugger,如果您使用的是Eclipse,IntelliJ等IDE,则将其内置到其中。

2. 如果您没有使用任何调试器,则可以使用jdb Java调试器。 有关调试器体系结构规范,请参阅JPDA

答案 4 :(得分:0)

Eclipse不支持这个,如果我没有弄错,但是在Intellij IDEA中,您可以设置断点,这种方式不会阻止您的应用程序在运行时运行,而是评估并记录您指定的特定表达式。使用ms visual studio的人可以使用相同的功能:)