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

标签 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 进行远程调试以连接到我的应用程序?

最佳答案

根据我读到的这个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 可能会有些困惑。您可以强制使用特定地址;例如

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

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

<小时/>

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

关于java - 无法使用 Eclipse 调试 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49949446/

相关文章:

java - 将 mp3 导入 android eclipse 失败

java - android 获取adMob高度

javascript - 在Alfresco中动态创建空间/文件夹的Javascript无法正常工作

Java lambda 表达式、强制转换和比较器

java - 当我在java中运行进程时如何获取processid?

Eclipse问题: project references itself

c - 单步执行直到退出函数 gdb

java - 文件的插入排序

java - 没有实体的 JPA 一对多

java - 使用 Gradle 时在 Intellij 中进行调试