在a previous question我想实现WndProc
来处理WM_DEVICECHANGE
消息,以便了解我的USB设备何时连接或分离。
我设法解决了这个问题,但....在某些情况下,JVM崩溃时出现以下丑陋的错误消息:
A fatal error has been detected by the Java Runtime Environment: EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1000cb77, pid=3448, tid=4432 JRE version: 6.0_17-b04 Java VM: Java HotSpot(TM) Client VM (14.3-b01 mixed mode, sharing windows-x86 ) Problematic frame: C 0x1000cb77 If you would like to submit a bug report, please visit: http://java.sun.com/webapps/bugreport/crash.jsp The crash happened outside the Java Virtual Machine in native code. See problematic frame for where to report the bug.
我发现如果我在插入USB设备后快速关闭框架,它只会崩溃JVM,因此可能无法正确处理消息。在错误消息中它说有一个“有问题的框架”,所以可能我的隐藏静态窗口,处理WM_DEVICECHANGE消息导致崩溃,但我不确定。
所以我的问题是在这种情况下可以做些什么,或者什么可能导致JVM崩溃。欢迎任何建议。
问候,Gabor
答案 0 :(得分:0)
有问题的帧指的是堆栈帧(即运行方法)。它不引用一个窗口(java.awt.Frame
或javax.swing.JFrame
)。
关闭窗口会以某种方式与JNI代码交互吗?