java - 我正在使用 daikon Chicory 进行不变检测,但遇到 java.lang.VerifyError

标签 java detect invariants

我正在学习如何使用 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

最佳答案

如评论中所述,它需要针对特定​​版本的 Java 或 JVM,第 5 版生成/编译 .class 文件

这就是我为让它工作所做的:

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

测试愉快!

关于java - 我正在使用 daikon Chicory 进行不变检测,但遇到 java.lang.VerifyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610056/

相关文章:

java - 如何用Java创建txt文件?

flash - 麦克风检测 Actionscript 3

c# - DDD 中聚合中的读取模型是什么以及在哪里使用它们?

java - 有没有一种简单的方法可以将整数字符串转换为单个整数

java - JSR-303 bean 验证 - 避免绕过字段

javascript - 滚动时检测第一个顶部元素

jquery - 如何使用 jQuery 或其他一些简单的方式检测移动浏览器..?

C++: STL: set: 存储值常量

Java循环不变量

java - 线程 "main"java.util.NoSuchElementException : No line found 中的异常