Java 如何调试服务器端错误?

Java 如何调试服务器端错误?,java,debugging,server,websphere,Java,Debugging,Server,Websphere,我们的Java应用程序正在经历从WAS7服务器到WAS8.5服务器的迁移过程——出于某种原因,即使我们的应用程序显示为部署在我们的管理控制台中,应用程序本身也不会出现在我们分配的URL上 通过在本地服务器上测试应用程序,我排除了代码相关问题的可能性,因此我知道问题出在一些服务器设置上——但是,我在CS方面的经验几乎都是在编码方面,我不知道如何找出那些设置出了问题的地方 我有哪些选项来调试应用程序的服务器端问题 检查服务器日志:在WAS控制台中,您可以找到服务器的日志 在本地服务器中调试。通过在

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

通过在本地服务器上测试应用程序,我排除了代码相关问题的可能性,因此我知道问题出在一些服务器设置上——但是,我在CS方面的经验几乎都是在编码方面,我不知道如何找出那些设置出了问题的地方

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

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

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

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

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


  • 你们并没有具体说明“上来”是什么意思,所以我将从广泛的建议开始

    有几件事需要检查:

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

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

    您没有指定“即将出现”是什么意思,因此我将从广泛的建议开始

    有几件事需要检查:

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

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

    从服务器日志开始。当您在本地运行时,应用程序是否部署在WAS 8.5上?关注本地服务器和产品服务器之间的差异。从服务器日志开始。当您在本地运行时,应用程序是否部署在WAS 8.5上?关注本地服务器和PROD服务器之间的差异。我们可能需要研究最后一点——我不知道我们的应用程序是否使用了那么旧的EJB,但值得研究。昨天,我们还被告知,如果应用程序的编译速度低于Java 1.7(事实上是这样),那么它可能会遇到问题,因此我们正在尝试首先解决这个问题。我们可能需要研究最后一个要点——我不知道我们的应用程序是否使用了那么旧的EJB,但值得研究。昨天,我们还被告知,如果应用程序的编译速度低于Java1.7(事实上是这样),那么它可能会遇到问题,因此我们正在尝试首先解决这个问题。