无法使用Eclipse调试Java应用程序

时间:2018-04-20 20:42:10

标签: java eclipse debugging remote-debugging vert.x

我的机器上有一个Java(Vert.x)应用程序,我试图将Eclipse连接到调试。

我通常在我的控制台中启动Java应用程序,如下所示:

java -jar build/libs/my-app.jar

在阅读有关调试的内容后,我尝试按如下方式启动应用程序:

java -jar build/libs/my-app.jar -Xdebug -Xrunjdwp:transort:transport=dt_socket,address=8001,server=y,suspend=n

当我运行它时,应用程序似乎在控制台中启动了。

然后我进入Eclipse,尝试通过Run - >调试连接到应用程序Debug Configurations。这就是我的调试配置:

my-app debugging

当我点击调试时,我会弹出一个错误框,说明连接被拒绝(我覆盖了我的真实应用程序的名称)。见下文:

enter image description here

我做错了什么?如何使用Eclipse连接到我的应用程序进行远程调试?

1 个答案:

答案 0 :(得分:3)

根据我对此JDWP documentation的解读,您的-Xrunjdwp选项不正确:

-Xrunjdwp:transort:transport=dt_socket,address=8001,server=y,suspend=n

应该是

-Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n

如果您的系统有多个IP地址,则可能会有一些关于代理正在侦听连接的IP的混淆。你可以强制一个特定的地址; e.g。

-Xrunjdwp:transport=dt_socket,address=127.0.0.1:8001,server=y,suspend=n

并在Eclipse调试连接参数中使用匹配的IP和端口。

AND ...正如Dave Thompson所发现的......所有JVM选项必须放在之前 -jar参数。 (-jar name.jar之后的任何内容都将被视为应用程序的命令行参数。)