【发布时间】:2010-09-27 10:23:53
【问题描述】:
通常要将调试器附加到正在运行的 jvm,您需要使用以下参数启动 jvm:
> java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
现在如果我想调试一个不是在调试模式下启动的进程,我该怎么办?
当生产系统(即在没有调试参数的情况下启动)出现“随机”(我松散地使用该术语)错误时,就会出现这种情况。所以我无法使用适当的参数重新启动 jvm,因为没有人知道如何再次重现该错误。这种情况下是否无法附加到JVM?
澄清一下,除非它们是在调试模式下启动的,否则无法使用 jdb 之类的工具附加到已经运行的 JVM 上
来自 JVM 手册页
另一种使用 jdb 的方法是将它附加到一个 Java VM 已经运行。一个虚拟机 使用 jdb 调试必须以 以下选项:
【问题讨论】:
标签: java debugging jvm jvm-arguments