Hello,
I have a weird problem with a tracing aspect that's used with
Equinox load time weaving. All worked nicely as long as I had AJDT
installed into my host IDE. The aspect was compiled by AJDT and
then packed into a nested JAR by an Ant script. When I launched my
application the aspect was woven into my application classes (they
tracer/logger classes that are called by my aspect are not
instrumented) and a nice logfile with trace information was
created.
Then (partly for bug 535103) I uninstalled AJDT from my host IDE.
Of course the jar'ed compiled aspect stayed where it was. And then
I changed my (uninstrumented) Logger class. But now wrong methods
of this Logger class are called. With a breakpoint in such a
method I can see in the Debug perspective that the call stack
(Debug view) and the executed method are not in sync. I've
attached a screenshot to demonstrate the problem. There you can
see that Logger.doActivate() should be called; but instead
Logger.save() is called.
I mentioned that I changed the Logger class, i.e., I deleted the
doActivate() method and added the save() method. After this change
I did not recompile the aspect (AJDT is uninstalled), but I
thought the aspect is not woven into this Logger class at all, so
I could change it as I want.
I have no clue what causes this. What's going on / is this
expected behavior?
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper