[Soot-list] Callgraph exception
Chris Pickett
chris.pickett at mail.mcgill.ca
Fri Feb 16 14:03:05 EST 2007
Maybe these calls should be the default?
Eric Bodden wrote:
> As mentioned 2 days ago on this list, you need to call...
>
> Scene.v().loadBasicClasses();
> Scene.v().loadNecessaryClasses();
>
> On 2/15/07, John Chaitanya Kati <johnkati at cse.iitb.ac.in> wrote:
>> Hi,
>> Can anyone help me out in this exception. I tried looking at the lists
>> but didnt find answer.
>>
>> [Call Graph] For information on where the call graph may be incomplete,
>> use the verbose option to the cg phase.
>> Exception in thread "main" java.lang.RuntimeException: This operation
>> requires resolving level BODIES but java.lang.System is at resolving
>> level
>> SIGNATURES
>> at soot.SootClass.checkLevel(int) (Unknown Source)
>> at soot.SootMethod.retrieveActiveBody() (Unknown Source)
>> at
>> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(soot.SootMethod)
>>
>> (Unknown Source)
>> at
>> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables()
>> (Unknown Source)
>> at soot.jimple.toolkits.callgraph.CallGraphBuilder.build() (Unknown
>> Source)
>> at
>> soot.jimple.toolkits.callgraph.CHATransformer.internalTransform(java.lang.String,
>>
>> java.util.Map) (Unknown Source)
>> at soot.SceneTransformer.transform(java.lang.String, java.util.Map)
>> (Unknown Source)
>> at soot.Transform.apply() (Unknown Source)
>> at soot.RadioScenePack.internalApply() (Unknown Source)
>> at soot.jimple.toolkits.callgraph.CallGraphPack.internalApply()
>> (Unknown Source)
>> at soot.Pack.apply() (Unknown Source)
>> at soot.PackManager.runWholeProgramPacks() (Unknown Source)
>> at soot.PackManager.runPacks() (Unknown Source)
>> at soot.Main.run(java.lang.String[]) (Unknown Source)
>> at soot.Main.main(java.lang.String[]) (Unknown Source)
>>
>> The code which i found in some posting is this
>>
>> import soot.*;
>> import soot.jimple.toolkits.callgraph.CallGraph;
>>
>> public class cg
>> {
>>
>> public static void main(String args[]) throws Exception
>> {
>> String strClass = "HelloWorld";
>> SootClass sootClass =
>> Scene.v().loadClassAndSupport(strClass);
>> System.out.println("Number of methods in " +
>> sootClass.getName() + ": " + sootClass.getMethodCount());
>> String[] opts = {"-w" , strClass};
>> System.out.println("Set Application classes");
>> sootClass.setApplicationClass();
>> Scene.v().setMainClass(sootClass);
>> Main.main(opts);
>> CallGraph cg = Scene.v().getCallGraph();
>> if(cg==null)
>> {
>> System.out.println("Call graph is equal to
>> null,exiting!");
>> }
>> else
>> {
>> System.out.println("Call graph is non null");
>> }
>> }
>> }
>>
>>
>>
>> --
>> Thanks in advance
>> John
>> Like a rose trampled on the ground, you took the fall and thought of
>> me...
>> _______________________________________________
>> 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