I'm learning how to use daikon.Chicory do some invariant detect. But on the java-examples part, I meet this error after this command

java daikon.Chicory --daikon DataStructures.StackArTester

I'm using cygwin shell on windows 7.

-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
有帮助吗?

解决方案

As mentioned in the comments it requires the .class files need to be generated/compiled targeting an specific version of Java or JVM, version 5

This is what I did to get it to work:

javac -g -source 5 -target 5 DataStructures/*.java
java daikon.Chicory --daikon DataStructures.StackArTester

Happy testing!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top