我正在学习如何使用daikon.Chicory做一些不变的检测。但是在java-examples部分,我在这个命令之后遇到了这个错误
java daikon.Chicory --daikon DataStructures.StackArTester
我在Windows 7上使用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
答案 0 :(得分:2)
如评论中所述,它需要针对特定版本的Java或JVM版本5生成/编译.class文件
这就是我为了让它发挥作用所做的事情:
javac -g -source 5 -target 5 DataStructures/*.java
java daikon.Chicory --daikon DataStructures.StackArTester
快乐测试!