【问题标题】:How to print Java object's current value in debug console in Eclipse?如何在 Eclipse 的调试控制台中打印 Java 对象的当前值?
【发布时间】:2012-02-15 03:15:27
【问题描述】:

我是 Eclipse 的新手。

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

po nameOfValue

也许是gdb 命令。我现在用的是Eclipse,这个在Eclipse中相当于什么?

附:我正在调试一个 Java 应用程序。

【问题讨论】:

  • Xcode 控制台中的 po ~= 大多数 java IDE 中的表达式

标签: java eclipse debugging console eval


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    Eclipse 具有非常强大的调试功能 - 比 Objective C 更强大。

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

    您可以在源代码窗格中执行几乎相同的操作。突出显示一个变量,右键单击并选择检查它。您还可以输入随机表达式并执行它。您还可以将手表放在变量上(我相信您可以在 Objective-C 中做到这一点)或表达式。

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

    【讨论】:

    • +1 。还有“表达式”视图(在调试透视图中)。您可以将 Java 代码放在此视图中,当您到达断点时以及在调试的每个步骤中都会对其进行评估。
    • @Baldrick - 完全忘记了 Expression 视图,这是另一个出色的工具。
    • 我想要命令行控制台,因为我不想在评估表达式时使用鼠标,因为通常用于调试的表达式很复杂。而且,用鼠标瞄准小图标比使用键盘要困难得多。
    • @Eonil - 啊!一个键盘侠。不,我认为您不会在 Eclipse 中找到完全一样的东西。虽然我认为一旦你尝试了其他可用的方法,你会发现它们非常强大。祝你好运!
    • 感谢您的建议。实际上我多年来一直是 VS 或 Eclipse 之类的 IDE,最后我切换到基于键盘的。无论如何,看起来是时候回到过去了哈哈:)
    【解决方案3】:

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

    【讨论】:

    • 如果代码无法运行,它应该在控制台中打印或者在显示窗口中给你一个错误
    • 是您尝试打印字符串的对象,如果是,字符串是否可以为空白尝试另一行打印一些文本,看看最后一个控制台输出和您打印的文本之间是否有空格
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:
      System.out.println(nameOfValue);
      

      【讨论】:

      • 我找不到可以输入这个的窗口:(
      • 可以放在表达式窗口中
      • 上面的代码将进入“显示”视图,因为它是一个命令而不是一个表达式。
      猜你喜欢
      • 2021-03-15
      • 2023-04-09
      • 2023-01-14
      • 1970-01-01
      • 2010-12-03
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2013-01-17
      相关资源
      最近更新 更多