3

我有一个启动小型 Jetty 服务器的小型 Java 应用程序。这通常效果很好。

不幸的是,当我启动一个完全不相关的、非 Java 的全屏游戏(我尝试使用魔兽世界和 SW:TOR)时,应用程序立即崩溃。它不会留下 hs_err 日志文件来告诉我原因。它只是随着 Windows“此应用程序已停止工作”对话框而死。游戏本身继续运行良好。它在我尝试过的任何游戏上都会崩溃,但不会在全屏视频播放器上崩溃。如果从 Eclipse 和命令行启动,它都会崩溃。我无法用另一个 Java 应用程序重现这一点,从简单到非常大的应用程序。当我以全屏(窗口)模式启动 WoW 时,该应用程序继续运行良好,因此这似乎是由一个控制整个桌面的全屏应用程序触发的。

似乎由于某种原因,当我的视频卡开始做某事时,JVM 崩溃了。

有谁知道为什么会发生这种崩溃,或者我怎么能弄清楚它为什么会发生?我不确定如何启动一个完全不相关的应用程序(可能是视频驱动程序?)会干扰我的 JVM。

4

2 回答 2

0

您可以尝试使用可视化虚拟机对其进行监控。还可以尝试在 vm 崩溃时编写堆转储并在之后进行分析。也许那时你会知道会发生什么。

JVM 崩溃时,Sun JDK 能否生成核心/堆转储文件?

尝试过任何更新的 Java 版本吗?

于 2012-11-26T21:36:05.230 回答
-1

您的游戏魔兽争霸和 SW:TOR 游戏是否同时运行?你的意思是你在java下运行你的游戏构建,然后你开始了另一个游戏魔兽和SW:TOR?您使用的是哪个操作系统和哪个版本的JVM?可能是两个不同的程序对图形资源的优先级不同。不清楚游戏魔兽和SW:TOR是在哪个平台下构建的。可能是操作系统默认优先级线程调度的工作落后于使用图形资源。似乎 JVM 因找不到资源并终止而引发系统异常。可能您应该检查资源的可用性,如果可用,请继续前进。

于 2012-11-28T11:59:21.057 回答