【发布时间】:2011-06-08 17:03:14
【问题描述】:
我有一个 java swing gui 应用程序(在许多不同的机器上运行多年而没有问题)会导致 Windows 7 x64 上的系统崩溃。我已经在几台机器上测试了这种行为,并且在未定义的时间(几秒到最多 2 分钟之间)之后,整个系统将冻结 - 任何输入都无法进行(ctrl+alt+delete 不起作用等)。
由于没有异常,没有Windows事件日志,内存或cpu消耗没有明显增加,请问如何分析问题? JVM不应该阻止整个系统冻结吗?
出于测试目的 - 我能否确定应用程序应该使用 x86 或 x64 JRE/JDK 运行?我已经在我的机器上安装了这两个,并且我已经看到该 jar 将始终使用 x64 JRE 执行 - 即使我明确选择“打开方式”和 x86 JRE 的路径。 这可以通过 JAVA_HOME 变量来控制,或者我可以编译我的程序以在特定版本中运行吗?
【问题讨论】:
-
这听起来像是 Swing 中的 Java2D 加速在图形驱动程序中遇到了一个错误,但我不熟悉如何在 Java2D 中禁用它。
-
继 Thorbjørn 的评论之后,可能值得关注 download.oracle.com/javase/6/docs/technotes/guides/2d/…。
-
在 java 命令行中传递 -d32 为 32 位,-d64 为 64 位。
-
@Eelke:_tried -D32,但它仍然使用 x64 JVM(也尝试过 JAVA_HOME)。仍然崩溃
-
@Thorbjørn, Paul:尝试了所有选项,甚至 noddraw=true 和一个全新的图形驱动程序 - 但仍然卡死!
标签: java swing crash windows-7-x64