调试器不在断点处停止:Eclipse中的WebSphere

4
我最近将我的应用程序从Websphere Application Server 6.1迁移到了WAS 7.5,因为6.1已经到了生命周期的尽头。因此,我需要更新我的调试服务器。我觉得这是一个合适的时机,将我的应用程序从IBM RAD IDE迁移到Eclipse(已经安装了Indigo)。至少我是这么想的。
不管怎样,在这里,有关部门建议我将我的调试器升级到WAS 8.5,因为我只是用它来进行调试。
但是我遇到的问题是,我无法让调试器在断点处停下来。我在我的首页中设置了大约10个断点,都是在JSP/Java代码中。
我正在运行Java 1.6.0_32和Java SE Runtime Environment build 1.6.0_32-b05。我真的不知道如何检查我加载了哪个JDK。我看到有人建议“回退”到JDK 1.5,但我不能确定我是否正在运行它。
而且为了涵盖其他一些基础知识,我刚刚开始了我的系统,打开了IDE,以调试模式启动了服务器(显示“正在调试,同步”),将焦点放在应用程序的首页上,并点击“在服务器上调试”。前台页面打开时没有停在任何断点处。
有人有什么想法或建议吗?
编辑:如下所述,我从未解决过这个问题。我只是继续使用另一个工具(Jetty)来进行调试。这里有一些非常好的建议,如果你遇到这种类型的问题,那么它们是值得阅读的。

我有时也会遇到这种问题。但通常重新启动应用程序、构建应用程序、重新放置和重新启用断点可以解决我的问题。 - RAS
我已经尝试了RAS的建议,但没有任何收获。目前,我已经回到使用IBM RAD,虽然成本和开销很大,但它确实可以正常运行并允许我调试代码。我在这个项目上已经落后了2周,真的需要完成它。然后我就可以回去继续研究在Eclipse中使用WAS进行调试。 - CoMo G-Dawg
好吧,我从来没有让这个起飞。我最终放弃了本地WAS调试器,改用Jetty工作。虽然没有解决这个问题,但解决了我的问题。 - CoMo G-Dawg
5个回答

2
如果您使用eclipse的调试器并在eclipse环境之外运行应用程序,则需要将其配置为远程Java应用程序。还要检查部署在服务器上的代码是否与工作区中存在的代码同步。

代码在IDE和服务器之间同步。正如我所说,我刚刚重新启动了我的系统、我的IDE和调试器服务器。我不知道其他人的配置是怎样的,但我的调试器每次服务器重启时都会刷新服务器上的代码。此外,我已经手动重启了服务器并手动发布了文件到服务器。 - CoMo G-Dawg
我会研究一下这个可能需要配置为远程Java应用程序的可能性。我不记得在安装RAD时必须这样做,但这并不意味着不是这种情况。感谢您的建议! - CoMo G-Dawg
还要检查IDE是否处于调试视角。 - Suresh Anbarasan

1

ecplise的网站有什么问题吗?

运行 -> 跳过所有断点


已经检查了“跳过所有断点”的可能性。我对此进行了一些研究,并在其他几篇帖子中推荐它作为可能的解决方案。在发布问题之前,我已经检查过了。很抱歉我没有表述清楚。 - CoMo G-Dawg

1
最近我遇到了一个问题,调试模式下代码不会在断点处停止,而我确定特定的代码段正在执行。为了解决这个问题,我进行了清理-构建-重新发布操作,但没有起作用,重新创建了配置文件并添加了新配置文件的服务器,仍然没有起作用,最后重新安装了RAD和WebSphere,但仍然没有起作用。然后我发现了下面的文章https://www-304.ibm.com/support/docview.wss?uid=swg21240896,意识到这可能是由于其他操作系统进程干扰调试进程/端口所致,因此我进行了系统还原。还原后,当我部署应用程序时,调试器开始正常工作。

0
我之前遇到了类似的问题,结果发现修复起来非常简单。
如果你在“服务器”窗口中双击服务器名称,会打开一个服务器配置页面。在这个页面上,确保勾选了“直接从工作区运行应用程序”。
原来,如果在服务器运行时“切换”分支,会关闭该选项,导致调试停止工作。

0

我想说我找到了答案,但事实并非如此。我最终放弃了RAD并转向在Jetty上进行调试。我的本地测试不完全与测试服务器上的相同,但它可以工作。不确定是否应将其标记为“已回答”。

更新:我已经离开了这个项目,但在我离开之前,整个开发平台都被移动到了IDEA,调试也不再是问题。我不知道是否应该找到一种方法将此问题标记为不活跃或关闭,以便当它对我不再是问题时,它不会仍然存在于这里并获得浏览和回复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接