如何使用Soot进程java源代码

时间:2015-08-28 13:16:53

标签: java soot

我使用以下命令处理java文件

   -src-prec java  -cp "/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jce.jar" -process-dir "/Users/.../test/src" -f jimple

我在处理java源码时遇到错误,如何解决?

java.lang.ClassCastException: soot.JastAddJ.CONSTANT_Utf8_Info cannot be cast to soot.JastAddJ.CONSTANT_Class_Info
    at soot.JastAddJ.BytecodeParser.parseThisClass(BytecodeParser.java:437)
    at soot.JastAddJ.BytecodeParser.parseTypeDecl(BytecodeParser.java:404)
    at soot.JastAddJ.BytecodeParser.parse(BytecodeParser.java:331)
    at soot.JastAddJ.BytecodeParser.parse(BytecodeParser.java:301)
    at soot.JastAddJ.Attributes$TypeAttributes.innerClasses(Attributes.java:412)
    at soot.JastAddJ.Attributes$TypeAttributes.processAttribute(Attributes.java:316)
    at soot.JastAddJ.Attributes.attributes(Attributes.java:61)
    at soot.JastAddJ.Attributes$TypeAttributes.<init>(Attributes.java:307)
    at soot.JastAddJ.BytecodeParser.parse(BytecodeParser.java:337)
    at soot.JastAddJ.BytecodeParser.read(BytecodeParser.java:27)
    at soot.JastAddJ.PathPart.getCompilationUnit(PathPart.java:115)
    at soot.JastAddJ.Program.getCompilationUnit(Program.java:887)
    at soot.JastAddJ.Program.getLibCompilationUnit_compute(Program.java:1531)
    at soot.JastAddJ.Program.getLibCompilationUnit(Program.java:1514)
    at soot.JastAddJ.Program.lookupLibType_compute(Program.java:1479)
    at soot.JastAddJ.Program.lookupLibType(Program.java:1447)
    at soot.JastAddJ.Program.lookupType_compute(Program.java:1426)
    at soot.JastAddJ.Program.lookupType(Program.java:1407)
    at soot.JastAddJ.Program.Define_TypeDecl_lookupType(Program.java:1995)
    at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)
    at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)
    at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)
    at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)
    at soot.JastAddJ.Expr.lookupType(Expr.java:1186)
    at soot.JastAddJ.TypeAccess.decls_compute(TypeAccess.java:425)
    at soot.JastAddJ.TypeAccess.decls(TypeAccess.java:414)

上面显示的错误消息

1 个答案:

答案 0 :(得分:1)

这是一个错误,您应该向Soot问题跟踪器报告,并提供有关如何重现问题的详细信息。