java/Eclipse:在Debug模式下启动一个新的JVM

Jas*_*n S 8 java eclipse debugging jvm

我的Java程序是否可以在调试模式下启动第二个JVM(通过ProcessBuilder进行实例运行javaw.exe),以便它出现在Eclipse的调试窗口中?

如果是这样,怎么样?

And*_*s_D 7

实现(可能)需要的可能方法:启用第二个jvm进行远程调试.据我所知,你可以让jvm等到远程调试器挂钩到会话.然后,在生成"child jvm"之后,在eclipse中启动远程调试会话.

这是经典VM的参数集:

java -Xdebug -Xnoagent -Djava.compiler=NONE 
     -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 ...
Run Code Online (Sandbox Code Playgroud)

(suspend=y告诉jvm等待调试器,5005是本例中的端口)

从JavaSE 1.5开始,这些被替换为标准化参数:

java -agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
Run Code Online (Sandbox Code Playgroud)