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

Posted

技术标签:

【中文标题】使用 Eclipse 将调试器附加到应用程序【英文标题】:Attach debugger to application using Eclipse 【发布时间】:2011-10-14 21:26:00 【问题描述】:

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

【问题讨论】:

您的意思是对应用程序进行远程调试吗? 不,应用程序在本地运行。 【参考方案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

【讨论】:

我是 java 新手,所以不太明白“启动你的服务器”是什么意思。这是一个在本地运行的应用程序。 每个 java JVM 都是一个“服务器”。它是您想要连接的任何东西 - 它必须是使用 java 命令启动的 @Luchian,不知何故你正在启动你的java程序,或者没有?还是其他人已经在运行?将 Bohemian 建议的相关选项添加到“java.exe”命令行。 “更现代”是指 J2SE 5.0+ (JDK 1.5+) javahowto.blogspot.com.au/2010/09/…【参考方案2】:

这样做怎么样:

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

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

【讨论】:

【参考方案3】:

Debug Configurations 面板有一个菜单项Remote Java Application

【讨论】:

以上是关于使用 Eclipse 将调试器附加到应用程序的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序

eclipse 调试器:附加 Maven 依赖项的源代码?

为啥我无法将调试器附加到在此订阅中运行的应用服务?

调试 gradle bootRun 有 server=n

调试 gradle bootRun 有 server=n

为啥在调试没有断点的访问区域时使用eclipse?