本章介绍如何以不同方式启动JDB会话. JDB启动是启动JDB会话的常用技术.
启动JDB会话有两种不同的方法:
通过向其添加类(主类名)来启动JDB会话.
将JDB添加到运行JVM以启动会话.
通过添加类启动会话
以下命令启动JDB会话:
语法
\>jdb
示例
假设我们有一个名为 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而不是启动新的.