如何在Eclipse的调试控制台中打印Java对象的当前值?

时间:2012-01-20 15:02:12

标签: java eclipse debugging console eval

我是Eclipse的新手。

在Objective-C中,我可以使用此命令在控制台窗口中打印对象的值。

po nameOfValue

也许是gdb命令。我现在正在使用Eclipse,这与Eclipse中的相​​同之处是什么?

P.S。我正在调试Java应用程序。

5 个答案:

答案 0 :(得分:22)

Eclipse具有 非常 强大的调试功能 - 远远超过Objective C.

首先,在调试时,您可以在“变量”窗口中查看所有变量的值。此外,在“变量”窗口的下半部分,您可以键入任意Java,选择它,右键单击,然后选择“检查”或“执行”。实际上,您可以在运行时以这种方式更改程序中变量的值。

您可以在源窗格中执行相同的操作。突出显示变量,右键单击并选择“检查”。您还可以键入随机表达式并执行它。您还可以将监视置于变量(我相信您可以在Objective-C中执行)或表达式上。

默认情况下不会显示表达式视图(在菜单中选择Window-> Views-> Expressions,而在Debug透视图中)。它允许您添加任意(有效)Java表达式,然后在调试会话的生命周期中监视这些表达式的值,非常漂亮。感谢@Baldrick提醒这个伟大的工具。

答案 1 :(得分:5)

System.out.println(nameOfValue);

答案 2 :(得分:2)

调试时,我不知道控制台中整个对象状态的任何打印选项。

但是您可以覆盖对象的toString()方法,并将字符串与每个字段的值或您要为该对象打印的任何内容连接起来。然后,在代码System.out.print(myObject);中的某处调用时,它将打印您已覆盖的toString()方法的结果。

答案 3 :(得分:1)

单击窗口菜单选择显示视图类型显示并显示该视图。在此视图中,当应用程序在调试期间暂停时,您可以键入java,例如System.out.println(objectName);

答案 4 :(得分:0)

覆盖该对象/类的toString。然后是System.out.println(objectVariable)。