我的 Java 程序是否可以在 Debug模式下启动第二个 JVM(通过 ProcessBuilder,例如运行 javaw.exe
),以便它出现在 Eclipse 的调试窗口中?
如果是,怎么做到的?
最佳答案
一种实现您(可能)想要的东西的可能方法:启用第二个 jvm 进行远程调试。据我所知,您可以告诉 jvm 等待,直到远程调试器挂接到 session 。然后,在生成“子 jvm”之后,在 eclipse 中启动远程调试 session 。
This is the set of parameters for a classic VM :
java -Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 ...
(suspend=y
告诉jvm等待调试器,5005是本例中的端口)
Starting from JavaSE 1.5, these were replaced with a standardized parameter :
java -agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
关于java/ eclipse : starting a new JVM in Debug mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5717949/