【发布时间】:2015-12-15 05:38:36
【问题描述】:
我有一个非常奇怪的问题。
我有一个我们最近升级的 Swing 应用程序,它根本不能在 Java 1.7/1.8 64 位环境中运行。
更具体地说,该应用程序在 1.7.0_52+ 的 32 位 Java 安装中完美运行,但如果您将其置于 64 位环境中,它根本无法打开。
使用 -verbose 从控制台运行它,它停止加载之前的最后一条消息是:
[Loaded sun.awt.AWTAutoShutDown$1 from c:\Program Files\Java\jre1.8.0_65\lib\rt.jar]
以上任何日志中都没有消息表明发生了错误,也没有抛出异常或其他消息。应用程序的 java 环境保留在内存中,CPU 使用率约为 40%。
如果我通过 Eclipse 启动相同的应用程序,它会在同一台 PC 上运行,这让这件事变得奇怪。我的 PC 上只有一个 java 安装,应用程序和 Eclipse 都使用相同的 JDK。
我想不出任何可能导致问题的事情,我不知所措。有人知道吗?
【问题讨论】:
-
我建议您在调试器控制下启动应用程序,以便您可以附加远程调试器以查看它实际挂起的位置。 (见stackoverflow.com/a/975342/1611055)。另一种选择是转储堆栈跟踪 (stackoverflow.com/a/2124708/1611055),这可能会让您了解应用程序挂起的位置
-
谢谢,我马上试试