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而不是启动新的.