小编典典

远程调试 Java 应用程序

all

我有一个在 linux 机器上运行的 java 应用程序。我使用以下命令运行 java 应用程序:

java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n

我在这台 Linux 机器上为 TCP 开放了 4000 端口。我使用 Windows XP 机器上的 eclipse
并尝试连接到这个应用程序。我也在windows中打开了端口。

两台机器都在 LAN 上,但我似乎无法将调试器连接到 Java 应用程序。我究竟做错了什么?


阅读 93

收藏
2022-04-26

共1个答案

小编典典

编辑: 我注意到有些人在这里剪切和粘贴调用。我最初给出的答案仅与 OP 有关。这是一种更现代的调用风格(包括使用更传统的 8000 端口):

java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n <other arguments>

原始答案如下。


试试这个:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n myapp

这里有两点:

  1. 选项中没有空格runjdwp
  2. 选项位于类名之前。类名之后的任何参数都是程序的参数!
2022-04-26