当我启动 Java 程序时,出现此错误(使用带有网络摄像头的 Xuggle-library):
<小时/>
问题签名:
问题事件名称:APPPCRASH
应用程序名称:java.exe
应用程序版本:6.0.260.3
应用程序时间戳:4dc11607
故障模块名称:libxuggle-ferry-4.dll
故障模块版本:0.0.0.0
故障模块时间戳:4b9493c5
异常代码:c0000005
异常偏移量:0000822a
操作系统版本:6.1.7601.2.1.0.256.48
区域设置 ID:1031
附加信息1:0a9e
附加信息2:0a9e372d3b4ad19135b953a78882e789
附加信息3:0a9e
附加信息4:0a9e372d3b4ad19135b953a78882e789
我已经发现,c0000005 是访问冲突。 有没有办法解决此类错误?或者我如何跟踪这个错误(Stacktrace 或其他东西,或者可能是一些工具)? Java 是否为此类错误创建日志文件?我在哪里可以找到它们?我的 Java 程序不会抛出任何异常。我刚刚收到此 appcrash 和“Java 结果:-xxxxxxx”(其中 xxxxxx 是一个很大的数字)。
谢谢。
最佳答案
Java 没有崩溃,而是您的 dll 崩溃了,并且它导致了 Java 进程的崩溃。你不会看到异常(exception)。通常,当 JVM 即将终止时,它会创建一个文件,列出当时发生的情况,并向 stdout 写入一条消息以及该文件的路径。这是我不久前收到的一篇文章的开头:
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1002ff3a, pid=4312, tid=2120
JRE version: 6.0_24-b07 Java VM: Java HotSpot(TM) Client VM (19.1-b02 mixed mode, sharing windows-x86 ) Problematic frame: C [namechangedtoprotecttheguilty.dll+0x2ff3a]
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.
--------------- T H R E A D ---------------
然后它会列出寄存器中的内容、堆栈帧的样子、堆上的内容、环境变量值等。
关于Java应用程序崩溃问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6597737/