【发布时间】:2011-10-14 21:26:00
【问题描述】:
您能否使用 Eclipse 附加到正在运行的应用程序,类似于使用 Visual Studio 附加的方式?
【问题讨论】:
-
您的意思是对应用程序进行远程调试吗?
-
不,应用程序在本地运行。
您能否使用 Eclipse 附加到正在运行的应用程序,类似于使用 Visual Studio 附加的方式?
【问题讨论】:
是的。
如果您在调试端口打开的情况下启动服务器,请将其添加到您的 java 命令中:
-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
并且您的项目中有源代码(从技术上讲,这不是必需的,但除非您这样做,否则它是无用的),您可以通过设置“调试配置”连接到正在运行的服务器 主机 = 运行服务器的机器,端口 = 8888(例如 - 请参阅上面的选项)
然后您可以设置断点,调试会话将在那里停止服务器,您可以检查变量/字段,甚至设置它们的值。
更新
JVM 执行此操作的更现代的命令行选项是
-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
【讨论】:
这样做怎么样:
“打开 DDMS 透视图,选择设备并附加到您的应用程序的进程(您将看到列出的包名称)”
【讨论】:
Debug Configurations 面板有一个菜单项Remote Java Application:
【讨论】: