JDB - 会话

本章介绍如何以不同方式启动 JDB 会话。 JDB 启动是启动 JDB 会话的常用技术。

启动 JDB 会话有两种不同的方法:

  • 通过向其中添加类(主类名称)来启动 JDB 会话。
  • 将 JDB 添加到正在运行的 JVM 以启动会话。

通过添加类启动会话

以下命令启动 JDB 会话:

语法

\>jdb <classname>

示例

假设我们有一个名为 TestClass 的类。 以下命令从 TestClass 启动 JDB 会话。

\>jdb TestClass

如果您执行此命令,它将使用任何指定的参数启动一个新的 Java VM。 此后,它加载该类并在执行该类的第一条语句之前停止它。

通过将 JDB 添加到正在运行的 JVM 来启动会话

下面给出的是通过将 JDB 添加到正在运行的 JVM 来启动 JDB 会话的语法和示例。

语法

以下语法适用于 JDB 会话:

-agentlib:jdwp=transport=dt_shmem,address=,server=y,suspend=n

示例

假设主类名为TestClass,并且 JVM 允许 JDB 稍后连接它。 以下是将JDB添加到JVM的命令:

\>java
-agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n TestClass

现在您可以使用以下命令将 JDB 连接到 JVM:

\> jdb -attach jdbconn

注意:这里,TestClass没有添加到JDB命令中,因为JDB连接到正在运行的VM而不是启动一个新的VM。