3

我正在使用 Java 编码的桌面应用程序来跟踪我在项目上的时间。

我一直使用它,直到 IT 在我的工作站上进行了新设置。现在我无法启动此应用程序。

当我启动它时,我得到了一个日志文件:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8fd8f5, pid=616, tid=4072
#
# JRE version: 6.0_15-b03
# Java VM: Java HotSpot(TM) Client VM (14.1-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# V  [jvm.dll+0xfd8f5]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

在谷歌上搜索了一段时间后,我继续阅读Sun 制作的故障排除指南-Xcheck:jni,并再次启动带有参数的应用程序。结果是我得到了这个新错误:

FATAL ERROR in native method: Wrong object class or methodID passed to JNI call
        at org.jdesktop.jdic.tray.internal.impl.DisplayThread.initTray(Native Method)
        at org.jdesktop.jdic.tray.internal.impl.DisplayThread.run(Unknown Source)
        - locked <0x2801e4e0> (a java.lang.Class for org.jdesktop.jdic.tray.internal.impl.DisplayThread)

我尝试下载 JDIC 的最新版本,但即使启动他们自己的示例也会遇到同样的错误。我想问题出错误消息中,但我不知道从哪里开始......

你可以帮帮我吗?

我的盒子:

  • 视窗 XP SP3

  • Java 6 (1.6.0_15)

更新

不幸的是,它现在已修复,我不知道如何修复。从昨天开始,我唯一能说的是我至少重新启动了一次,除了我没有安装新的 java 设置或其他任何东西......对不起,如果有人面临同样的问题。

4

2 回答 2

0

啊,JNI 的乐趣!

我认为这是说您的应用程序尝试使用的本机代码库的 API 与 Java 端不兼容。我的猜测是,IT 人员所做的更改包括更改库/DLL/Java 应用程序尝试使用的任何内容。

于 2009-08-12T09:51:10.297 回答
0

看看你是否可以调用不带参数的函数,而不是那些带参数的函数。

您可能会发现接口不再与库匹配。例如,如果您使用 SWIG 生成接口文件,则不同版本的 SWIG 会生成不同数量的参数。

不幸的是,java接口代码和库代码不匹配不会产生错误,它只会崩溃。

于 2009-08-14T15:48:35.833 回答