我的Java程序是否可以启动第二个JVM(例如通过ProcessBuilder运行javaw.exe
),以便在Eclipse的调试窗口中显示?
如果可以,怎么做呢?
我的Java程序是否可以启动第二个JVM(例如通过ProcessBuilder运行javaw.exe
),以便在Eclipse的调试窗口中显示?
如果可以,怎么做呢?
java -Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 ...
(suspend=y
表示JVM要等待调试器,5005是本例中的端口号)
java -agentlib:jdwp=transport=dt_socket,address=localhost:9009,server=y,suspend=y
org.eclipse.debug.core.DebugPlugin.launch(configuration, "debug");
我曾经使用过这个方法来以调试模式启动应用程序,它按预期工作,包括在eclipse中设置断点、变量内省等方面的完全支持。如果这就是你想要的,那么你应该尝试一下。