[Soot-list] java.lang.RuntimeException: There is no main class set

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Sun Jul 4 06:22:10 EDT 2010


Soot has it's own classpath. In your case you want to include the
current directory.

Try this:

java -classpath
.;lib\soot-2.4.0.jar;lib\polyglotsrc-1.3.5.jar;lib\jasminsrc-2.4.0.jar;lib\jce.jar;
Callgraph -cp . Javahelloworld

Note that I added "-cp .". More information can be found here:

http://www.sable.mcgill.ca/soot/tutorial/usage/index.html

Eric

--
Dr. Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt



On 4 July 2010 12:12, Kishen Das <kishen.das at gmail.com> wrote:
> java -classpath
> .;lib\soot-2.4.0.jar;lib\polyglotsrc-1.3.5.jar;lib\jasminsrc-2.4.0.jar;lib\jce.jar;
> Callgraph Javahelloworld
> Javahelloworld class is in the current working directory.
> I don't think its the problem with the classpath, but may be something as
> basic as that.
> Kishen
>
> On Sun, Jul 4, 2010 at 5:02 AM, Eric Bodden
> <bodden at st.informatik.tu-darmstadt.de> wrote:
>>
>> It appears that your classpath is wrong. For instance, Soot cannot
>> find Javahelloworld. Maybe that is the problem...
>>
>> If yo show us your command line then we can say more.
>>
>> Eric
>>
>> --
>> Dr. Eric Bodden
>> Software Technology Group, Technische Universität Darmstadt, Germany
>> Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
>> Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt
>>
>>
>>
>> On 4 July 2010 11:00, Kishen Das <kishen.das at gmail.com> wrote:
>> > Dear All,
>> > I am very new to Soot and now trying to get a Callgraph of a Java class.
>> > I tried various things but always get this error in windows.
>> > I have tried everything ( Soot and Phase options, manually setting the
>> > MainClass, etc), but nothing seems to be working.
>> > I am attaching the error message below.
>> > Any help will be highly appreciated.
>> > Regards,
>> > Kishen
>> > ----------------------Error Message ---------------------------------
>> > Soot started on Sun Jul 04 03:46:20 CDT 2010
>> > Warning: javax.crypto.Cipher is a phantom class!
>> > Warning: javax.crypto.NoSuchPaddingException is a phantom class!
>> > Warning: javax.crypto.BadPaddingException is a phantom class!
>> > Warning: javax.crypto.IllegalBlockSizeException is a phantom class!
>> > Warning: javax.crypto.SecretKey is a phantom class!
>> > Warning: javax.crypto.spec.SecretKeySpec is a phantom class!
>> > Warning: Javahelloworld is a phantom class!
>> > java.lang.RuntimeException: There is no main class set!
>> >         at soot.Scene.getMainClass(Scene.java:160)
>> >         at soot.EntryPoints.application(EntryPoints.java:65)
>> >         at soot.EntryPoints.all(EntryPoints.java:95)
>> >         at soot.Scene.getEntryPoints(Scene.java:683)
>> >         at soot.Scene.getReachableMethods(Scene.java:730)
>> >         at
>> >
>> > soot.jimple.toolkits.callgraph.CallGraphBuilder.<init>(CallGraphBuilder.java:59)
>> >         at
>> >
>> > soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(CHATransformer.java:42)
>> >         at soot.SceneTransformer.transform(SceneTransformer.java:39)
>> >         at soot.Transform.apply(Transform.java:89)
>> >         at soot.RadioScenePack.internalApply(RadioScenePack.java:57)
>> >         at
>> >
>> > soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:47)
>> >         at soot.Pack.apply(Pack.java:114)
>> >         at soot.PackManager.runWholeProgramPacks(PackManager.java:408)
>> >         at soot.PackManager.runPacks(PackManager.java:329)
>> >         at soot.Main.run(Main.java:198)
>> >         at soot.Main.main(Main.java:141)
>> >         at
>> > firepile.compiler.Reachable$.getCallGraph(Reachable.scala:147)
>> >         at firepile.compiler.Reachable$.main(Reachable.scala:75)
>> >         at firepile.compiler.Reachable.main(Reachable.scala)
>> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>> > Source)
>> >         at java.lang.reflect.Method.invoke(Unknown Source)
>> >         at
>> >
>> > scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:81)
>> >         at
>> >
>> > scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:24)
>> >         at
>> >
>> > scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:86)
>> >         at
>> >
>> > scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:81)
>> >         at
>> >
>> > scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:86)
>> >         at
>> > scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:83)
>> >         at
>> > scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
>> > _______________________________________________
>> > Soot-list mailing list
>> > Soot-list at sable.mcgill.ca
>> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>> >
>> >
>
>


More information about the Soot-list mailing list