我假设您希望能够使用 Eclipse 中的单步调试。您可以通过在 JRE 类路径上的 bin 目录中设置构建的类,在外部运行这些类。
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
可以使用远程调试器进行调试,并利用项目中生成的类文件进行调试。
在此示例中,Eclipse 项目结构如下所示:
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. 以调试方式启动 JVM 控制台
debug.bat 是一个 Windows 批处理文件,应从 cmd.exe 控制台外部运行。
@ECHO OFF
SET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
在参数中,调试端口已设置为 8787。suspend=y 参数告诉 JVM 等待调试器附加。
2. 创建调试启动配置2.
在 Eclipse 中,打开“调试”对话框(“运行>打开调试对话框...”),然后使用以下设置创建新的远程 Java 应用程序配置:
-
项目:您的项目名称
-
连接类型:标准(插座连接)
-
主机:本地主机
-
端口:8787
3. 调试
因此,每当您想要调试应用程序时,您所要做的就是:
您可以在 bug 122429 中跟踪此问题。您可以通过使用抽象层在应用程序中解决此问题,如此处所述。