【问题标题】:Java application crashes when starting full screen applicationJava 应用程序在启动全屏应用程序时崩溃
【发布时间】:2012-11-18 23:03:38
【问题描述】:

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

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

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

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

【问题讨论】:

  • 堆栈跟踪?以及相关代码?
  • 没有堆栈跟踪,应用程序只是崩溃了。这就是问题所在——我无处可寻。
  • 完全没有堆栈跟踪的崩溃?这看起来确实很奇怪......
  • 请展开“全屏游戏”。比赛采取什么形式?例如。它是一个小程序、一个应用程序、一个基于 HTML 的网络应用程序、一个飞艇……?代码是否经过数字签名?如果是这样,是否提示用户接受数字签名代码?另外为了尽快获得更好的帮助,请发布SSCCE
  • Windows eventvwr 什么也没说?您正在运行哪个版本的 Windows?您是否尝试过更改码头的绑定端口(一些反黑客程序是“侵略性”的。当您更改桌面上的分辨率时,您的应用程序崩溃了?(请同时添加 GPU 型号和驱动程序版本)

标签: java jetty fullscreen runtime-error


【解决方案1】:

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

Can Sun JDK generate core/heap dump files when JVM crashes?

尝试过更新的 Java 版本吗?

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      相关资源
      最近更新 更多