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

How to enable remote debugging for an Eclipse Application?

我正在尝试为 eclipse 插件项目启用远程调试,目的是将 IntelliJ IDEA 用作调试器。

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

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

我收到以下错误:

ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options. Error occurred during initialization of VM agent library failed to init: jdwp

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

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

  • 将应用程序导出为独立的 eclipse 应用程序。
  • 修改 eclipse.ini 文件并将必要的调试参数添加到“-vmargs”条目。
  • 像往常一样启动独立应用程序。
  • 像通常进行远程调试一样,将开发 Eclipse 实例附加到测试应用程序。
  • Run -> Debug Configurations...
  • Add -Xdebug -Xrunjdwp:transport= dt_socket,address=1044,server=y,suspend=n to VM arguments.

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

然后您可以创建附加的 "remote java application" 调试配置以附加到该套接字。

Tomcat 配置:-> 默认情况下,远程调试发生在 8000 port.If 你想改变它然后转到 catalina.bat 文件并更新这一行 将 JPDA_ADDRESS=localhost:8000 设置为所需的端口号。 您也可以在 setenv.bat 文件中设置此 属性。通常这个文件在 tomcat 中不存在,所以只需创建一个名为的批处理文件 setenv 并写下这一行 set JPDA_ADDRESS=localhost:8000.

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

1)日食

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

Eclipse remote debug img

2)Intellij理念:

去添加配置->点击+->和select远程jvm调试->然后给相同的端口号和名称(任何名称)然后应用。

Intellij Idea Remote Debug img