Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] LocalVariableTable

on a cursory look it seems ok, but I see you have other aspects in the
system (that are using cflow) that weave into that advice - turn those
off, does it make your before advice debugging work?

Andy

On 3 August 2011 14:54, Yoav A. <yoav_@xxxxxxxxxxx> wrote:
> including the code:
> Code:
> Stack=4, Locals=6, Args_size=2
> 0:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 3:    invokevirtual    #219; //Method
> org/aspectj/runtime/internal/CFlowCounter.inc:()V
> 6:    aload_0
> 7:    ldc    #62; //String before
> 9:    aload_1
> 10:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 13:    invokevirtual    #219; //Method
> org/aspectj/runtime/internal/CFlowCounter.inc:()V
> 16:    invokevirtual    #64; //Method
> log:(Ljava/lang/String;Lorg/aspectj/lang/JoinPoint;)V
> 19:    goto    31
> 22:    astore_3
> 23:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 26:    invokevirtual    #224; //Method
> org/aspectj/runtime/internal/CFlowCounter.dec:()V
> 29:    aload_3
> 30:    athrow
> 31:    nop
> 32:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 35:    invokevirtual    #224; //Method
> org/aspectj/runtime/internal/CFlowCounter.dec:()V
> 38:    nop
> 39:    goto    53
> 42:    astore    5
> 44:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 47:    invokevirtual    #224; //Method
> org/aspectj/runtime/internal/CFlowCounter.dec:()V
> 50:    aload    5
> 52:    athrow
> 53:    getstatic    #215; //Field
> ajc$cflowCounter$0:Lorg/aspectj/runtime/internal/CFlowCounter;
> 56:    invokevirtual    #224; //Method
> org/aspectj/runtime/internal/CFlowCounter.dec:()V
> 59:    return
> 60:    return
> Exception table:
> from   to  target type
>  16    19    22   Class java/lang/Throwable
>
>  6    42    42   Class java/lang/Throwable
>
> LocalVariableTable:
> Start  Length  Slot  Name   Signature
> 6      36      0    this       Laspects/aspectj/LogAllToFile;
> 6      36      1    thisJoinPoint       Lorg/aspectj/lang/JoinPoint;
>
>
> -----Original Message----- From: Andy Clement
> Sent: Thursday, August 04, 2011 12:24 AM
> To: AspectJ developer discussions
> Subject: Re: [aspectj-dev] LocalVariableTable
>
> 1.6.5 is over 2 years old, I would upgrade.  I can't recall whether
> something related to this has been fixed in the intervening time.
>
> I don't know what 'JBE' is, I just use javap.  Attach the 'javap
> -verbose -private' output for the advice method and maybe something
> will be obvious.  But I would recommend trying with 1.6.11 first.
>
> cheers,
> Andy
>
> On 3 August 2011 13:51, Yoav A. <yoav_@xxxxxxxxxxx> wrote:
>>
>> It looks ok to me when checking with JBE. Is there any other way to check?
>>
>> This is the code:
>> before() : everything() && scopeBefore() {
>>  log("before", thisJoinPoint);
>> }
>>
>> in the LocalVariableTable I have two entries:
>> this and thisJoinpoint both start at pc 6. I there anything else to check?
>>
>> I am still with AJ 165, was there anything fixed since then in that area?
>>
>>
>> -----Original Message----- From: Andy Clement
>> Sent: Wednesday, August 03, 2011 10:43 PM
>> To: AspectJ developer discussions
>> Subject: Re: [aspectj-dev] LocalVariableTable
>>
>> Could be an issue with the local variable table.  Does it look valid
>> to you? i.e. what is the method that is having trouble, what class is
>> it in, what does the local variable table look like for that method?
>>
>> I remember a bug from a while back where some of the methods generated
>> for around advice had unhelpful local variable table entries but that
>> was addressed.  You haven't mentioned which AspectJ you are using, I
>> assume 1.6.11 or later...
>>
>> If the local variable table looks funky, please raise a bug.
>>
>> Andy
>>
>> 2011/8/3 Yoav A. <yoav_@xxxxxxxxxxx>:
>>>
>>> Hi
>>>
>>> I am trying to write code over JDU that attempts to debug AJ code.
>>> At some point when examining a stack frame inside an advice, I am trying
>>> to
>>> get a mirror to the ‘this’ object using StackFrame.thisObject(). I get an
>>> exception:
>>> Exception in thread "active event system driver"
>>> com.sun.jdi.InternalException: Unexpected JDWP Error: 35
>>>   at
>>> com.sun.tools.jdi.JDWPException.toJDIException(JDWPException.java:47)
>>>   at com.sun.tools.jdi.StackFrameImpl.thisObject(StackFrameImpl.java:127)
>>>
>>> Searching for this message leads to this old bug:
>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5005668
>>>
>>> could there be such a problem with ajc?
>>>
>>>
>>>
>>> _______________________________________________
>>> aspectj-dev mailing list
>>> aspectj-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>>>
>>>
>> _______________________________________________
>> aspectj-dev mailing list
>> aspectj-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>> _______________________________________________
>> aspectj-dev mailing list
>> aspectj-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>>
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>


Back to the top