![如何查看是什么原因导致 Windows 终止我的 Java 应用程序(结束任务对话框)?](https://linux22.com/image/1508064/%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%20Windows%20%E7%BB%88%E6%AD%A2%E6%88%91%E7%9A%84%20Java%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%88%E7%BB%93%E6%9D%9F%E4%BB%BB%E5%8A%A1%E5%AF%B9%E8%AF%9D%E6%A1%86%EF%BC%89%EF%BC%9F.png)
我编写了一些基于 javafx 的 java 应用程序。它在我的团队开发机器上运行了 2 年,没有任何问题。但它在大约 700 台机器(具有不同的配置)上进行了生产安装,所有机器都运行 Windows 7 或 8,并且会随机崩溃。每天所有机器累计发生约 100 次崩溃。应用程序冻结并显示结束任务对话框,基本上是 Windows 终止了 java 应用程序。日志中没有错误,没有内存泄漏,在我分析的所有机器上,CPU 约为 20%。
它随机崩溃,与我所看到的特定配置无关。尝试更新 Java,但崩溃只是以不同的方式出现(黑屏 + 冻结,而不是仅冻结屏幕)。
应用程序正在播放 5-6 个不同的屏幕,每个屏幕都播放全屏视频,上面有一些动画文本。视频被压缩为 h264,所有设置都是为了减轻 CPU 的负载。
在一台电脑上,我收到了 JavaVM 崩溃日志,其中抱怨 javafx 使用了一些 gstreamer.dll。
有什么方法可以调试这种完全终止虚拟机的随机行为吗?有什么方法可以在某些 Windows 错误日志中查看它终止 Java 应用程序的原因吗?