2012-07-24 34 views
0

考虑一个带有许多变量的java程序,其中一些是循环的计数器我希望随着时间变化看到这些变量的值,而不是将代码中的打印语句放在任何地方。查看Java程序运行时变量值的变化?

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

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) 
+1

如果您使用的是IDE相同的功能(如果没有,为什么不呢?),比如Eclipse,IntelliJ IDEA的或NetBeans的,它带有一个内置的调试器正是这样的事情。 – 2012-07-24 17:53:32

+0

是的,我使用的是日食。 Eclipse调试器如何与LastStar007提到的DDD进行比较? – 2012-07-24 18:06:15

回答

0

你应该使用调试器,把一个断点,你想看到(在与++线路在这种情况下)的值。您可以在每次迭代中看到该值。

大多数IDE具备调试器(的IntelliJ IDEA,Eclipse或NetBeans的)。

1

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

注意:为了避免它是如何工作的混乱,DDD工作在加多宝,包含在JDK Java调试器的顶部。

0

这是调试器用于..逐步通过您的代码并检查变量的值。如果您希望自己的代码每隔一段时间打印一次,则可以使用Timer类和TimerTask在指定的时间间隔内输出变量的值。

0

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

2.如果你没有使用任何调试器,那么你可以使用jdbJava调试。 有关调试器体系结构规范,请参见JPDA

0

Eclipse不支持这一点,如果我没有记错,但在IntelliJ IDEA的,你可以在一个方式,当打它,而是评估和记录特定的表达你指定了不停止你的应用程序运行设置断点。为那些谁使用MS Visual Studio的:)