使用Eclipse将调试器附加到应用程序

Luc*_*ore 46 java eclipse debugging

您是否可以使用Eclipse附加到正在运行的应用程序,类似于使用Visual Studio进行附加的方式?

Boh*_*ian 52

是.

如果在打开调试端口的情况下启动服务器,请将其添加到java命令中:

-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
Run Code Online (Sandbox Code Playgroud)

并且您在项目中有源代码(技术上这不是必需的,但除非您这样做,否则它没用),您可以通过设置"调试配置"来连接到正在运行的服务器,而主机=服务器所在的机器运行和port = 8888(例如 - 参见上面的选项)

然后,您可以设置断点,调试会话将暂停服务器,您可以检查变量/字段,甚至设置它们的值.


更新

JVM执行此操作的现代命令行选项更为现实

 -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
Run Code Online (Sandbox Code Playgroud)

  • “更现代”表示J2SE 5.0+(JDK 1.5+)http://javahowto.blogspot.com.au/2010/09/java-agentlibjdwp-for-attaching.html (2认同)

ema*_*ove 27

调试配置面板上有一个菜单项Remote Java Application:

在此输入图像描述