[Soot-list] loadBasicClasses() throws an exception

Kin Keung Ma archicat at gmail.com
Mon Mar 14 10:50:58 EST 2005


(I tried to post this once but it does not appear. Sorry if this
appear twice eventually.)

I tried to do this with Soot:

Options.v().parse(new String[]{"-full-resolver"});
// for every class c in rt.jar do
   Scene.v().addBasicClass(c,SootClass.BODIES);
Scene.v().loadBasicClasses();

I think some classes in rt.jar calls methods in javax.crypto library
that does not exist in rt.jar. Then the SootResolver threw an
exception:

Exception in thread "main" java.lang.RuntimeException: couldn't find
class: javax.crypto.spec.IvParameterSpec (is your soot-class-path set
properly?)
       at soot.SootResolver.bringToHierarchy(SootResolver.java:139)
       at soot.SootResolver.bringToSignatures(SootResolver.java:172)
       at soot.SootResolver.bringToBodies(SootResolver.java:214)
       at soot.SootResolver.processResolveWorklist(SootResolver.java:100)
       at soot.SootResolver.resolveClass(SootResolver.java:89)
       at soot.Scene.tryLoadClass(Scene.java:298)
       at soot.Scene.loadBasicClasses(Scene.java:838)
       at Main.main(Main.java:66)

Can Soot handle the missing of classes internally, so that it can
continue even some classes are missing?
Moreover, is my way of loading classes into Soot correct? Thanks.

Kin


More information about the Soot-list mailing list