我的机器上有一个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
。这就是我的调试配置:
当我点击调试时,我会弹出一个错误框,说明连接被拒绝(我覆盖了我的真实应用程序的名称)。见下文:
我做错了什么?如何使用Eclipse连接到我的应用程序进行远程调试?
答案 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
之后的任何内容都将被视为应用程序的命令行参数。)