Java JNA WindowProc JVM崩溃

时间:2011-01-25 07:51:49

标签: java jvm jna wndproc

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

1 个答案:

答案 0 :(得分:0)

有问题的帧指的是堆栈帧(即运行方法)。它引用一个窗口(java.awt.Framejavax.swing.JFrame)。

关闭窗口会以某种方式与JNI代码交互吗?