[Soot-list] Soot Eclipse plugin, not recognizing classes in classpath for custom main method

Atulan Zaman a3zaman at uwaterloo.ca
Sat Aug 3 00:37:22 EDT 2013


Hi,

I am trying to create a custom main method for my analysis with Soot 
using Eclipse.
However, Soot does not seem to recognize the class name, "TestAnalysis" 
that I pass in as argument in my main method "UnsafeForMutableMain".
I have tried adding the project bin folder in my classpath, as well 
explicitly adding the necessary classes in classpath, by it is not working.

How can I get Soot to recognize my class when using a custom main method?
I have tried the steps in the Soot Survival Guide and the tutorial on 
Soot Eclipse plugin for extending Soot.
Help would be much appreciated. I am pasting my stacktrace including the 
classpath.

Thanks,
Atulan

Starting from project ECE750:
ece750.analysis.UnsafeForMutableMain --v --cp 
/ECE750/lib/soot-2.5.0.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/pulse-java.jar:/home/atulan/workspace/ECE750/bin/ece750/analysis/:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/sunpkcs11.jar:/ECE750/lib/parboiled-java-1.1.5.jar:/ECE750/src:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/sunjce_provider.jar:/ECE750/lib/parboiled-core-1.1.5.jar:/home/atulan/workspace/ECE750/bin/:/usr/lib/jvm/java-7-openjdk/jre/lib/rhino.jar::/home/atulan/workspace/ECE750/src:/usr/lib/jvm/java-7-openjdk/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/pulse-java.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-7-openjdk/jre/lib/ext/dnsns.jar:/home/atulan/workspace/ECE750/lib/parboiled-core-1.1.5.jar:/home/atulan/workspace/ECE750/lib/parboiled-java-1.1.5.jar:bin/:/home/atulan/workspace/ECE750/bin:/home/atulan/workspace/ECE750/lib/soot-2.5.0.jar 
--debug-resolver --debug --interactive-mode --d 
/home/atulan/workspace/ECE750/sootOutput --xml-attributes --src-prec 
java ece750.analysis.UnsafeForMutableMain
java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at ca.mcgill.sable.soot.launching.SootThread.run(SootThread.java:138)
Caused by: java.lang.RuntimeException: couldn't find class: 
ece750.analysis.TestAnalysis (is your soot-class-path set properly?)
     at soot.SootResolver.bringToHierarchy(SootResolver.java:205)
     at soot.SootResolver.bringToSignatures(SootResolver.java:239)
     at soot.SootResolver.processResolveWorklist(SootResolver.java:154)
     at soot.SootResolver.resolveClass(SootResolver.java:124)
     at soot.Scene.loadClass(Scene.java:448)
     at soot.Scene.loadClassAndSupport(Scene.java:433)
     at 
ece750.analysis.UnsafeForMutableMain.main(UnsafeForMutableMain.java:32)
     ... 5 more



More information about the Soot-list mailing list