什么会导致崩溃时无法创建hs_err_pid文件?
我需要调查 Java 客户端应用程序的崩溃。它是Swing应用程序,在Windows上的Java SE 6 Update 23上的Java Web Start环境中运行。不幸的是,对于某些崩溃案例,hs_err_pid文件未创建。它不在桌面上,所以我在PC上搜索了它,但没有找到它(桌面上有一个旧的hs_err_pid文件,对于相同的应用程序,所以可以合理地假设新的也应该在那里创建)。日志中最终没有异常,因为它通常发生在JVM在Java异常上崩溃时,因此它看起来像是在创建hs_err_pid文件时应该导致的崩溃。
我是否需要配置某些内容才能使其正常工作?Dr. Watson 的配置会影响hs_err_pid文件的创建吗?
谢谢
我们配置了 Dr' Watson 并分析了核心转储文件,该文件是在应用再次崩溃后创建的。我看到的错误是“访问冲突”。从堆栈跟踪中,我能够看到崩溃是由我们使用的第三方的本机代码中的异常引起的。这足以将问题委托给他们。
底线:
1.JVM没有按预期处理某些Java崩溃,因此不会创建hs_err_pid文件。
2. 在这些情况下,配置操作系统以创建核心转储可能会有所帮助,因为 JVM 未处理的崩溃将由操作系统处理。在这种情况下,您将获得的信息较少,但仍然会有所帮助。