I';m使用daikon菊苣进行不变检测,但遇到java.lang.VerifyError
我正在学习如何使用daikon.菊苣做一些化学测试。但是在java示例部分,我在执行此命令后遇到了这个错误I';m使用daikon菊苣进行不变检测,但遇到java.lang.VerifyError,java,detect,invariants,Java,Detect,Invariants,我正在学习如何使用daikon.菊苣做一些化学测试。但是在java示例部分,我在执行此命令后遇到了这个错误 java daikon.Chicory --daikon DataStructures.StackArTester 我在Windows7上使用cygwin shell -ea -Xmx128M -javaagent:C:\cygwin\home\Will\daikonparent\daikon\java\ChicoryPremain.jar=--daikon --dtrace-file=
java daikon.Chicory --daikon DataStructures.StackArTester
我在Windows7上使用cygwin shell
-ea -Xmx128M -javaagent:C:\cygwin\home\Will\daikonparent\daikon\java\ChicoryPremain.jar=--daikon --dtrace-file=StackArTester.dtrace.gz DataStructures.StackArTester
entered daikon.chicory.Runtime.setDtrace(.\StackArTester.dtrace.gz, false)...
java.lang.VerifyError: StackMapTable error: bad offset in method DataStructures.StackArTester.push(I)V
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getMethod0(Class.java:2685)
at java.lang.Class.getMethod(Class.java:1620)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:492)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:484)
Chicory warning: no records were printed
Exception in thread "main" Warning: Did not run Daikon because target exited with 1 status
如注释中所述,它需要生成/编译针对特定版本的Java或JVM版本5的.class文件 这就是我为了让它工作所做的:
javac -g -source 5 -target 5 DataStructures/*.java
java daikon.Chicory --daikon DataStructures.StackArTester
快乐测试 这意味着该工具没有正确生成有效的.class文件。您可以通过在某个地方指定一个早期的Java目标版本来让它工作。(可能是您未能使用-g标志编译Java,以打开调试信息。)