2015-08-28 1 views
1

J'utilise la commande suivante pour traiter le fichier javaComment utiliser processus Suie code source 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 

Je suis erreur lorsque la source java de processus, comment le résoudre?

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) 

Le message d'erreur comme ci-dessus montre

+3

pouvez-vous poster le message d'erreur? – Avinash

+1

Je vous suggère de lire le message d'erreur afin que nous puissions déterminer ce qu'il essaie de vous dire. –

+0

merci juste ajouter, j'utilise la suie de construction nocturne –

Répondre

1

C'est un bug, que vous devez signaler à la s'il vous plaît question Suie tracker, des informations détaillées sur la façon de reproduire le problème.

+0

oui, je pense que ce bug est lié à la jdk, j'utilise java 1.8, ce bug se produit. Quand je passe à 1.7, ça marche bien. –

+0

Que voulez-vous dire par "utiliser Java 8"? Est-ce que vous exécutez Soot en utilisant Java 8 ou ne pas traiter le code Java 8 avec Soot? – Eric

+0

Désolé, je dois le préciser. J'exécute Soot en utilisant Java 8 au lieu de traiter le code Java 8. Je trouve que certains problèmes ont été soulevés au git de Soot. –