使用 JShell 进行调试

Debugging with JShell

我在 JShell 中写了一个 Java 方法,现在我想调试它。我想设置断点或至少逐行执行。 JShell有这些调试能力吗?

为了进一步澄清,从 JEP: The Java Shell (Read-Eval-Print Loop) 本身来看,非目标 州 :

Out of scope are graphical interfaces and debugger support. The JShell API is intended to allow JShell functionality in IDEs and other tools, but the jshell tool is not intended to be an IDE.

有一些未记录的 /debug 命令(Java 11 中的 Jshell)。在 /help /debug 命令之后你可以看到:

jshell> /help /debug
  Display debugging information for the jshell tool implementation.
  0: Debugging off
  r: Tool level debugging on
  g: General debugging on
  f: File manager debugging on
  c: Completion analysis debugging on
  d: Dependency debugging on
  e: Event debugging on

注意,如果只写/help,则没有关于/debug命令的信息。

在 Jshell 中有 jdb tool 用于调试。