[Soot-list] callgraph

Chris Pickett chris.pickett at mail.mcgill.ca
Wed Feb 14 10:16:34 EST 2007


I don't actually know, but probably the issue is that you want 
PrintStream.println(), as System.out is just a PrintStream object.

So I am guessing there is a callsite that invokes println() on a 
PrintStream object inside C.main().

Chris

Toth.Gabriella.2 at stud.u-szeged.hu wrote:
> Hi!
> 
> But callgraph doesn't have "System.out.println() => something"  edge, 
> only function of A=>something
> function of B=>something
> function of C=>something  edges.
> 
> How can I reach "System.out.println() => something" edges?
> I try whole program options:
> soot.options.Options.v().set_whole_program(true);
> but it didn't work.
> 
> What could I do?
> 
> Thanks
> 
> Gabi
> 
> Quoting Chris Pickett <chris.pickett at mail.mcgill.ca>:
> 
>> Toth.Gabriella.2 at stud.u-szeged.hu wrote:
>>> public static void main(String[] args) {
>>>    A a=new B();
>>>    System.out.println(a);
>>> }
>>>
>>> I created a callgraph:
>>> and there isn't any edge between C.main and B.toString.
>>
>> This isn't surprising: C.main() does not call B.toString().  It calls
>> B.<init> and System.out.println(Object).
>>
>>> How can I retrieve this edge?
>>
>> As an alternative, you can try to find where a.toString() is invoked
>> inside System.out.println(Object).
>>
>> Cheers,
>> Chris
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> 
> 
> 
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
> 
> _______________________________________________
> 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