Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Unable to debug my aspects when using iajc build task

Hi Chris,

On 01/11/2007, Chris Rose <chris.rose@xxxxxxxxxxxxxxxxxxx> wrote:
> I'm now working through debugging aspect advice, and I've got a problem:
>
> First, for some reason (I've submitted a bug against the aspectJ IDE on
> this) I cannot use the aspectJ project nature on our large development
> project; rebuilds of the project wedge and require between 20 and
> forever minutes to proceed.  If debugging aspects requires the aspectJ
> nature in the IDE, I'm hosed.  I think it shouldn't, however.

No, you are right, debugging doesn't require AJ nature in the IDE.
20mins sounds unusual for compiling an AJ project though, do you
definetly have a high enough Xmx for the eclipse instance? 768M?
1024M?

> I'm building the code using the aspectJ ant task 'iajc', in an aspectJ
> 1.5.3 distribution, using the following options:
>
>        <iajc
>           destdir="${destdir}"
>           source="1.5"
>           debug="on"
>           deprecation="on"
>           verbose="false"
>           showWeaveInfo="false"
>           Xlintwarnings="true"
>           fork="false">
>
> The compiler is compiling _all_ of our source code, not just aspects.
> It is replacing the <javac/> task in this case.
>
> However, when I try to walk the code in my debugger (attach to remote
> JBoss instance, breakpoints on the aspect and inside the first method it
> calls) I cannot get the debugger to 'see' the aspect advice.
>
> The aspect is written using annotations, if that makes a difference,
> instead of the aspectj language, mainly because of the problem I
> mentioned above about being unable to configure the project as an
> aspectj project.
>
> So, how can I make the required debug information make it into the class
> and into my IDE?

I haven't done much remote debugging ...  but the use of 'debug=on' is
all that should be required for debug to work.  Are you by any chance
debugging around advice?  The only thing that springs to mind that
might be impacting you is that around advice can be inlined at the
locations where it applies - and then breakpoints wont be picked up if
you have set them into around advice.  You can compile with -XnoInline
and we won't inline it and then we'll respect your breakpoints.  The
fact that you use annotations shouldn't really make any difference but
if it is a small aspect, you could quickly swap it to code style to
check if that is the problem?

Andy


Back to the top