Hi Meisam.
It sounds like your analysis may be executing at the wrong time of the
weaving process. How are you executing your analysis? To do this
correctly, you should implement a ReweavingAnalysis and register it in
your AbcExtension.
Eric
2009/5/1 Meisam Fathi <meisam.fathi_at_gmail.com>:
> Hi there,
>
> I wanna use soot to analyze aspectj code. I need the control flow graph
> of each method and advice body for my analysis. All aspects, classes,
> methods and advice bodies are present in Scene.v() after I compile a
> piece of code using abc. I compile the code in my program using some
> lines of code that invokes abc.main.Main.main() method after which the
> code that retreives method bodies is located . I can easily get bodies
> of library methods, e.g. methods defined in java.lang.String, by
> invoking SootMethod.retrieveActiveBody(). But the problem is that
> retrieveActiveBody() throws an exception for methods that are compiled
> with abc, and I cannot retrieve the active body of methods and advice
> bodies that I have compiled.
> Here is the exception that is thrown:
>
> java.lang.RuntimeException: no active body present for method
> <mfs.UserManager: java.lang.String getManagerName()>
> at soot.SootMethod.getActiveBody(SootMethod.java:304)
> ...
> at mfs.Main.main(Main.java:76)
>
> Does anybody know what the problem is?
>
> Thanks in advance
> Meisam Fathi
>
>
>
>
-- Eric Bodden Sable Research Group, McGill University Montréal, Québec, CanadaReceived on Fri May 01 2009 - 13:31:11 BST
This archive was generated by hypermail 2.2.0 : Mon May 18 2009 - 19:10:11 BST