[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] debugging aspected code

JBuilder 8 enterprise claims AFAIK to be JSR 45 compliant, but I haven't 
tested it jet.

Debuging AspectJ should be theoretically still possible (despite the AspectJ 
bug), if you can limit yourself to the 1.0.6 plattform.
kind regards
   Arno

On Sunday 05 January 2003 21:17, Wes Isberg wrote:
> You got me!  I answered Chris' as raising the question of
> AspectJ debuggability for purposes of aspectj-users.
> I thought others would want to know the current status:
>
> To debug JSR-45 in eclipse, the eclipse bug is a blocker.
> To debug AspectJ aspects, our bug is a blocker.
>
> I keep hoping someone will say "yeah, I can debug JSR-45
> lines great in [IntelliJ|JBuilder|JSwat|NetBeans|...]",
> so even before the eclipse team gets to it in the 2.2
> release train, there is *some* "mission critical"
> debugger working with AspectJ code (once fixed!).
> (We're not tying solutions for debugging AspectJ to
> eclipse in any way; that's one of the beauties of JSR-45.)
>
> Does anyone know a "mission critical" JSR-45 debugger?
>
> Wes
>
> Mark wrote:
> > Wes, while i find your explanation very interesting and helpful i do
> > have the
> > impression that we are talking about two different pair of shows here.;-)
> >
> > Debugging aspectj code *outside* of eclipse (this is what you have
> > elaborated
> > on if i understood you right) is one thing. Using the eclipse IDE to
> > debug code
> > in it's own debugger is a totally different story. (As far as i
> > understood the mail
> > from Chris this is what his mail was about. chris pls correct me if i'm
> > wrong
> > here.) The bug number i posted is about adding jsr-45 support to the
> > *eclipse
> > debugger*. as long as the eclipse debugger doesn't support jsr-45,
> > debugging
> > aspectj code using the eclipse debugger is not supported.
> >
> > For experimental usage of aspectj code i don't see a problem working
> > with a basic
> > comand-line set of tool. For using aspects in a mission critical
> > environment (what i
> > would like to do), support of a seamless debug session is a must.
> > otherwise it's a
> > show stopper.
> >
> > -- mark
> >
> > Wes Isberg wrote:
> > >What Mark wrote is true but might be confusing to readers;
> > >because we build on the eclipse compiler, they might think
> > >that the eclipse bug needs to be fixed before .class files
> > >produced by AspectJ support JSR-145, which is not true.
> > >
> > >AFAIK:
> > >
> > >- if the line in question is not in an aspect,
> > >  everything should work as usual in 1.0 and 1.1
> > >  (if not, it's a bug).
> > >
> > >- .class files produced by AspectJ 1.1 do not comply
> > >  with JSR-45, but those produced by 1.0 do.  This is
> > >  currently a known bug/limitation.
> > >
> > >- i.e., if the line in question is in an aspect
> > >  and you are using AspectJ 1.0
> > >  and your VM and your debugger client support JSR-45,
> > >  then you should be able to step into and out of the
> > >  aspect source and set breakpoints there.
> > >
> > >- The eclipse debugger does not support JSR-45, but
> > >  Sun's jdb in J2SE 1.4.1 does (and others might as well).
> > >
> > >- For AspectJ 1.1 to support JSR-45 means fixing the
> > >  weaver and BCEL.  I am not sure if this is required
> > >  before 1.1 goes final (though I'd like it to be).
> > >
> > >Wes
> > >
> > >For those less in the know, here's some more detail
> > >and background:
> > >
> > >AspectJ 1.0 supported JSR-45, but AspectJ 1.1 support
> > >still needs to be developed, last I heard.  (BCEL needs to
> > >be upgraded to pass the information through.)  I believe
> > >that
> > >ordinary line number information is still available, but I
> > >haven't checked.
> > >
> > >There are two ways to associate line numbers in .class
> > >files,
> > >the old way and JSR-145 (which supports having many source
> > >files
> > >for a class (etc.).  Running an application on a VM that
> > >supports JSR-45 (like Sun's 1.4.1) makes both forms
> > >available
> > >to a debugger client of the VM debugging API's (JPDA).
> > >Those
> > >clients that use the high-level API's strictly should work
> > >w/o
> > >upgrade with the JSR-145-supplied lines, because they don't
> > >change the debugger interface.  However, many debuggers make
> > >assumptions that violate the API (e.g., the relative
> > >location
> > >of types, etc.).  The eclipse bug suggests that the Eclipse
> > >debugger is one of these or that it uses lower-level API's.
> > >In J2SE 1.4.1, Sun's jdb works to step through aspects.
> > >
> > >Mark wrote:
> > >>chris,
> > >>
> > >>pls look at http://bugs.eclipse.org/bugs/show_bug.cgi?id=25798 which
> > >>describes the
> > >>current situation. you can also search the eclipse.technology.ajdt
> > >>newsgroup
> > >>(look for 'jsr 145').
> > >>
> > >>the problem is, that *eclipse* must support jsr 145 in order to allow
> > >>you to debug code
> > >>that has aspect stuff weaved into.
> > >>
> > >>-- mark
> > >>
> > >>Chris Nelson wrote:
> > >>>I've just begun my first forays into AspectJ and like others, am
> > >>> amazed and impressed.  But before I could really be able to work with
> > >>> it for real world stuff, I need to get debugging working and am not
> > >>> having any luck thus far.  I am using AspectJ 1.1.b2 and using the
> > >>> iajc ant task to do builds.  When I then attempt to debug code that
> > >>> has been touched by an aspect, my debugger (Eclipse 2.1) complains
> > >>> about not finding line numbers, even tho I have tried passing both
> > >>> debug=true and
> > >>>debuglevel="lines,vars,source" as attributes of the iajc task.  I
> > >>> don't know if this is a problem specific to Eclipse or just a known
> > >>> issue with the 1.1 beta, but I would appreciate any help.  Any info
> > >>> on how other people are debugging Aspects (please include AspectJ
> > >>> version, IDE, JDK version, and so forth) would also be greatly
> > >>> appreciated.  I don't think I'm doing using any features new to 1.1
> > >>> so I could downgrade AspectJ if I need to.   But all in all, the
> > >>> promise of aspects just has me drooling.  Awesome job, AspectJ team!
> > >>>
> > >>>Thanks in advance,
> > >>>
> > >>>Chris Nelson
> > >>>
> > >>>
> > >>>
> > >>>_______________________________________________
> > >>>aspectj-users mailing list
> > >>>aspectj-users@xxxxxxxxxxx
> > >>>http://dev.eclipse.org/mailman/listinfo/aspectj-users
> > >>
> > >>_______________________________________________
> > >>aspectj-users mailing list
> > >>aspectj-users@xxxxxxxxxxx
> > >>http://dev.eclipse.org/mailman/listinfo/aspectj-users
> > >
> > >_______________________________________________
> > >aspectj-users mailing list
> > >aspectj-users@xxxxxxxxxxx
> > >http://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > http://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users

-- 

******************************************************************************
Arno Schmidmeier
+49/9151/90 50 30
or A@xxxxxxxxxxxxxxx
******************************************************************************
Yes, I have realized several projects with AspectJ.
Yes, I do provide consulting for AspectJ.