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

Kishen Das kishen.das at gmail.com
Sun Jul 4 07:20:49 EDT 2010


If I do that, I am not able to pass the class name Javahelloworld as an
argument  to the main method of Callgraph. I mean I can still hardcode the
value within Callgraph class, but still, that doesn't seems to solve the
problem.

Kishen

On Sun, Jul 4, 2010 at 5:22 AM, Eric Bodden <
bodden at st.informatik.tu-darmstadt.de> wrote:

> 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
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20100704/d15ffcf2/attachment.html 


More information about the Soot-list mailing list