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。