I';m使用daikon菊苣进行不变检测,但遇到java.lang.VerifyError

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=

我正在学习如何使用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=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,以打开调试信息。)