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。

广告