如何为 Eclipse 应用程序启用远程调试?

问题描述 投票:0回答:4

我正在尝试为 Eclipse 插件项目启用远程调试,以便使用 IntelliJ IDEA 作为调试器。

到目前为止我已采取的步骤:

  1. 启动 Eclipse。
  2. 运行 -> 调试配置...
  3. 创建一个新的“Eclipse 应用程序”(用于启动加载插件的本地工作区)。
  4. -Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n
    添加到 VM 参数。
  5. 按“调试”按钮。

我收到以下错误:

错误:无法两次加载此 JVM TI 代理,请检查您的 java 命令行是否有重复的 jdwp 选项。 VM初始化期间发生错误 代理库初始化失败:jdwp

我应该采取哪些步骤来让 IntelliJ IDEA 能够调试在运行时工作区中运行的 Eclipse 插件?

java eclipse eclipse-plugin eclipse-jdt eclipse-mars
4个回答
4
投票
  • 运行 -> 调试配置...
  • 将 -Xdebug -Xrunjdwp:transport= dt_socket,address=1044,server=y,suspend=n 添加到 VM 参数。

这是多余的。使用 debug 配置已经启动应用程序,并将 eclipse 调试器附加到进程。如果您想通过服务器套接字启用调试,请将其作为运行配置启动。

然后,您可以创建一个附加的“远程 Java 应用程序”调试配置以附加到该套接字。


2
投票

我建议您不要尝试从 Eclipse 内启动 Eclipse 应用程序。

  • 将应用程序导出为独立的 Eclipse 应用程序。
  • 修改 eclipse.ini 文件并将必要的调试参数添加到“-vmargs”条目中。
  • 像平常一样启动独立应用程序。
  • 将开发 Eclipse 实例附加到测试应用程序,就像通常进行远程调试一样。

0
投票

Tomcat 配置:-> 默认情况下,远程调试发生在 8000 端口。如果您想更改此设置,请转到 catalina.bat 文件并更新此行 将 JPDA_ADDRESS=localhost:8000 设置为所需的端口号。 您也可以在 setenv.bat 文件中设置此属性。一般来说,tomcat 中不存在该文件,因此只需创建一个名为 的批处理文件 setenv 并写入此行 set JPDA_ADDRESS=localhost:8000.

现在转到 bin 目录,然后打开命令提示符并写入“catalina jpda start”。它将使 tomcat 以调试模式运行。你可以验证一下 通过看到类似这样的内容“监听地址为 8000 的传输 dt_socket”

1) 日食

转到运行->调试配置->远程Java应用程序->单击新的启动配置 然后填写详细信息,如项目、端口(提供与您在 tomcat 中配置的端口号相同的端口号)、主机(如果您使用本地,您可以提供 本地然后应用和调试 我正在使用 eclipse 2020.09 .

Eclipse remote debug img

2)Intellij Idea:

转到添加配置->单击+->并选择远程jvm调试->然后给出相同的端口号和名称(任何名称)然后应用。

Intellij Idea Remote Debug img


0
投票

只需添加

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

至少基于 Eclipse 框架的 Java 应用程序确实会忽略这些参数。 你需要在前面添加

-vmargs
,例如:

-vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044

然后,当您通过控制台启动应用程序时,它应该打印:

Listening for transport dt_socket at address: 1044

然后您可以启动外部调试器,例如来自日食

© www.soinside.com 2019 - 2024. All rights reserved.