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

Attach debugger to application using Eclipse

提问人:Luchian Grigore 提问时间:7/28/2011 最后编辑:LiiLuchian Grigore 更新时间:1/28/2017 访问量:50484

问:

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

Java Eclipse 调试

评论

0赞 jasalguero 7/28/2011
您的意思是在应用程序上进行远程调试吗?
0赞 Luchian Grigore 7/28/2011
否,应用程序在本地运行。

答:

57赞 Bohemian 7/28/2011 #1

是的。

如果您在打开调试端口的情况下启动服务器,请将其添加到您的 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

评论

0赞 Luchian Grigore 7/28/2011
我是 java 的新手,所以不太明白“启动服务器”是什么意思。这是在本地运行的应用程序。
0赞 Bohemian 7/28/2011
每个 java JVM 都是一个“服务器”。它是您想要连接到的任何内容 - 它必须是使用 java 命令启动的
0赞 Angel O'Sphere 7/28/2011
@Luchian,你是否以某种方式启动了你的 Java 程序?还是其他人并且它已经在运行?将波西米亚建议的相关选项添加到“java.exe”命令行。
3赞 Oliver Bock 11/4/2014
“更现代”意味着 J2SE 5.0+ (JDK 1.5+) javahowto.blogspot.com.au/2010/09/...
33赞 emallove 4/25/2014 #2

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

enter image description here

-3赞 Gene Bo 1/27/2016 #3

不如只这样做:

“打开 DDMS 透视图,选择设备并附加到应用的进程(您将看到列出的包名称)”

..感谢这篇文章: https://stackoverflow.com/a/10074263/2162226