如何调试服务器端错误?



我们的 Java 应用程序正在从 WAS 7 服务器迁移到 WAS 8.5 服务器 - 出于某种原因,即使我们的应用程序在管理控制台中显示为已部署,应用程序本身也不会出现在我们分配的 URL 上。

我已经通过在本地服务器中测试应用程序来排除与代码相关的问题的可能性,所以我知道问题出在某些服务器设置上 - 但是,我几乎所有的 CS 经验都在编码中,我不知道如何找出这些设置出错的地方。

我可以使用哪些选项来调试应用程序的服务器端问题?

你没有具体说明"即将出现"是什么意思,所以我将从广泛的建议开始。

需要检查的几件事:

  • 确保应用程序已部署在尝试访问它的特定服务器上。通常,在一个单元中有多个服务器,由一个部署管理器控制,并且应用程序只能部署到其中一些服务器。在管理控制台的服务器 -> WebSphere 应用程序服务器下,您可以找到您希望它所在的服务器并选中已安装的应用程序
  • 检查应用程序本身是否已启动。服务器可能已启动,但应用程序尚未启动。在应用程序 -> WebSphere 企业应用程序中,查找应用程序旁边的绿色箭头。
  • 如果您尝试访问 servlet,请确保将 Web 模块的上下文根设置为您期望的。在应用程序的配置页中,它位于"Web 模块属性"下的">Web 模块的上下文根目录"中。
  • 如果所有这些看起来都正确,或者应用程序已停止且无法启动,请检查配置文件logs目录中的服务器日志,尤其是 SystemOut.log 和 ffdc 文件夹。当您访问它或启动它时,可能会出现错误。这些应该出现在那里。
  • 如果应用程序使用低于 3.1 版本的 EJB,那么必须在部署之前或作为部署过程的一部分针对应用程序运行 EJBDeploy 工具。如果您预计会发生后者,请确保 EJBDeploy 工具与 WebSphere 一起安装在目标系统上。

如果所有这些都失败了,你可以打破调试器(如果你的环境中允许的话(,看看你的代码是否被访问。

  1. 检查服务器日志:在WAS控制台中,您可以找到服务器的日志。

  2. 在本地服务器中调试。通过在本地服务器中部署 ear,您可以在登录模式下启动服务器。然后,您应该停止并重新启动 Websphere 应用程序,它将在选定的断点中停止。

相关内容

最新更新