一尘不染

远程调试Java应用程序

java

我有一个在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应用程序。我究竟做错了什么?


阅读 293

收藏
2020-02-29

共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. 选项位于类名之前。类名之后的所有参数都是程序的参数!
2020-02-29