【问题标题】:How do I debug server-side errors?如何调试服务器端错误?
【发布时间】:2017-07-17 15:29:11
【问题描述】:

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

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

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

【问题讨论】:

  • 从服务器日志开始。当您在本地运行时,该应用程序是否部署在 WAS 8.5 上?专注于本地服务器和 PROD 服务器之间的差异。

标签: java debugging server websphere


【解决方案1】:

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

需要进行健全性检查的几件事:

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

如果所有这些都失败了,您可以中断调试器(如果您的环境允许这样做)并查看您的代码是否已被访问。

【讨论】:

  • 我们可能需要研究最后一个要点——我不知道我们的应用程序是否使用了那么旧的 EJB,但值得研究一下。昨天我们还被告知,如果我们的应用程序在低于 Java 1.7(它是)编译时可能会遇到问题,因此我们正在尝试首先解决这个问题。
【解决方案2】:
  1. 检查服务器日志:在 WAS 控制台中,您可以找到您的服务器的日志。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多