我目前正在编写一个 JNI 项目,在尝试运行 Java 代码时收到以下错误日志。它告诉我有问题的框架是 jvm.dll 框架,在尝试隔离问题时,我试图找出我的问题到底在哪里(在 JVM 与我的本机代码中)我已附加了线程日志的一部分,并且可以根据需要附加其余部分。我也尝试过重新安装 JVM。
检测到致命错误
Java运行时环境:
EXCEPTION_ACCESS_VIOLATION
(0xc0000005) 在 pc=0x6d8fefb5,
pid=720,tid=3128
JRE 版本:6.0_21-b07 Java 虚拟机:
Java HotSpot(TM) 客户端虚拟机 (17.0-b17
混合模式,共享 windows-x86 )
有问题的框架:V
[jvm.dll+0xfefb5]
- - - - - - - - 线 - - - - - - - -
当前线程(0x02189000):
JavaThread“主”[_thread_in_vm,
id=3128,堆栈(0x02120000,0x02170000)]
siginfo:异常代码=0xc0000005,
读取地址0x00000000
寄存器:EAX=0x00000000,
EBX=0x02189118,ECX=0x02189000,
EDX=0x6da2f76c ESP=0x0216fa84,
EBP=0x0216facc,ESI=0x02189000,
EDI=0x00000000 EIP=0x6d8fefb5,
EFLAGS=0x00010246
堆栈顶部:(sp=0x0216fa84)
0x0216fa84:0216fb38 0216fae4
34497370 0216faa0 0x0216fa94:
6d8010e0 02189000 0216fd34 0216fad0
0x0216faa4:6d906d09 02189000
00000006 00000004 0x0216fab4:
0216fb38 0216fae8 02189000 02189a08
0x0216fac4:000004c4 6da2f76c
0216faf0 57669c1a 0x0216fad4:
02189118 0216fbf0 00000000 0216fb04
0x0216fae4: 0216fb04 cccccccc
0216fb04 0216fb38 0x0216faf4:
576699d3 02189118 0216fbf0 00000000
说明:(pc=0x6d8fefb5)
0x6d8fefa5:00 00 00 74 08 8d 4d f0
e8 1e 20 09 00 8b 7d 10 0x6d8fefb5:
8b 07 c7 45 e0 0c 00 00 00 8b 48 08 0f
b7 51 2a
堆栈:[0x02120000,0x02170000],
sp=0x0216fa84,免费
space=13e0216f568k 本机帧:
(J=编译的Java代码,j=解释的,
Vv=VM 代码,C=本机代码)V
[jvm.dll+0xfefb5] C
[PNMain.dll+0x19c1a] C
[PNMain.dll+0x199d3] j
PNMain.optimalSideTwist2(ILjava/lang/String;Lvtk/vtkPolyDataAlgorithm;DDDDDD)[D+0
j PNMain.rotateLeftRight(Z)[D+282 j
PNMain.main([Ljava/lang/String;)V+92 v
~StubRoutines::call_stub V
[jvm.dll+0xf3abc] V
[jvm.dll+0x1865b1] V
[jvm.dll+0xf3b3d] V [jvm.dll+0xfd385]
V [jvm.dll+0x104fdd] C
[javaw.exe+0x2155] C
[javaw.exe+0x8614] C
[kernel32.dll+0x13677] C
[ntdll.dll+0x39d42] C
[ntdll.dll+0x39d15]
Java 框架:(J=编译后的 Java 代码,
j=解释的,Vv=VM 代码)j
PNMain.optimalSideTwist2(ILjava/lang/String;Lvtk/vtkPolyDataAlgorithm;DDDDDD)[D+0
j PNMain.rotateLeftRight(Z)[D+282 j
PNMain.main([Ljava/lang/String;)V+92 v
~StubRoutines::call_stub