在Java的调试模式下,是否有类似于控制台的东西可以输入命令?

8
在Eclipse中是否可以有一个控制台,在调试模式下可以尝试一些东西?就像在Python中,我可以随时键入例如1 + 1或myVariable.toString()等内容吗?C#具有类似F# shell的概念。我想在运行时检查变量并尝试一些方法,拥有那种控制台将非常有帮助。谢谢。

"Variables"标签应该允许您检查相同的变量。 - matt b
是的,但我也想运行命令。 - devoured elysium
4个回答

13

Eclipse有一个Display视图,您可以在其中输入(几乎)任意的Java表达式,并在断点时对它们进行求值。

要对任何表达式进行求值,请选择它(无论是在Display视图本身还是在任何打开的Java源文件中),然后按下“inspect”、“display”或“evaluate”按钮中的一个。

  • “inspect”执行表达式并在弹出的检查视图(类似于变量视图)中显示结果值。
  • “display”执行表达式并将结果值打印到Display视图中。
  • “evaluate”执行表达式并不做其他操作。

有一些非常好的帮助文档关于Eclipse调试,特别是关于检查变量求值表达式

如果您想在调试时测试一些Java代码的行为,则可能需要查看Scrapbook功能


我尝试写1+1; 或者this.toString(); 但似乎什么都没有发生。它是如何工作的? - devoured elysium
1
@devoured:你确定你正在调试一个应用程序并且在断点中吗?这是必要的,因为执行需要一些上下文(例如要知道 this 是什么)。 - Joachim Sauer
是的,我是。表达式视图似乎可以正常工作,但是当我尝试在显示视图中输入内容时,似乎没有任何反应。 - devoured elysium
1
@devoured:你已经选择要执行的表达式了吗? - Joachim Sauer
1
那么您可能正在寻找一个REPL。请参阅此问题:https://dev59.com/1XRC5IYBdhLWcg3wJNif - Joachim Sauer
显示剩余2条评论

2

是的。Eclipse Scrapbook - 鲜为人知但非常酷

文件 -> 新建 -> Java -> Java 运行/调试 -> Scrapbook


1

Eclipse还有一个旧插件,似乎正好符合您所寻找的需求,名为Dr. Java。


0

简而言之,是的。

在Java 9中,添加了 REPL,允许像Python一样进行操作。

在Eclipse中,您可以添加 QuickShell以在Eclipse IDE内部使用JShell。还需要安装 TM Terminal Eclipse插件。

顺便说一句,在IntelliJ中,它是通过Tools | JShell Console内置的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接