[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Wrong method of uninstrumented class executed

Hello Eike.

Would you mind sharing your code or optimally a minimal, condensed
SSCCE[*] version of it, which reproduces and illustrates your problem? A
GitHub repo would be nice, a ZIP would be the second best thing.

[*] http://sscce.org/
Alexander Kriegisch

Eike Stepper schrieb am 27.05.2018 12:24:
> 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