On 2009-10-07, at 18:02, André Bargull wrote:

> As Henry already mentioned, debug without backtrace doesn't work  
> atm. (IMO it's a bit scary how resp. that it actually worked in the  
> past - see debugger/LzMessage.lzs)

Agreed.  I have fixed the issue that Henry ran into.

>> +        // Make stack frames beyond limit internal (for debugging)
>> +        for (var i:Number = btsl - 1; i >= limit; i--) {
>> +          var frame = bts[i];
>> +          delete bts[i];
>> +          bts['__' + i] = frame;
>> +        }
>> +        bts.length = limit;
> Isn't this partially redundant? You don't need to delete entries  
> explicitly if you reduce 'length', do you?

The reason I delete/rename the out of range elements is that  
Debug.inspect treats properties that are 'out of range' for array-like  
things as named properties and prints them out 'alphabetically'.  I  
don't want these hidden elements of a backtrace to show up for the  
normal user, so I have renamed them to internal names.  That way you  
can still see them if you are a wizard.  [The reason Debug.inspect  
shows elements beyond length is because it's possible that an object  
will have a length property but not actually intend to be treated as  
an Array.  If you could subclass Array in Javascript, I could make  
backtrace a subclass and in theory just set length to delete the  
renamed entries.]

> And a warning when compiling swf8-LFC:
>> [java] Warning: Assignment to free variable Debug in compiler/ 
>> LzBootstrapDebugService.lzs (524)

I mistakenly took the var declaration off to make swf10 compile, but  
that declaration should really just not happen in swf10 (since it does  
not need the intermediate debugger instantiations).

> Otherwise approved!
>
>
> On 10/6/2009 6:44 PM, P T Withington wrote:
>> [I plan to check this in as it addresses bugs André found in  
>> reviewing my earlier check-in r14937.  It should improve the over- 
>> all backtrace experience.]
>>
>> Change 20091005-ptw-u by [email protected] on 2009-10-05 11:54:01 EDT
>>    in /Users/ptw/OpenLaszlo/trunk
>>    for http://svn.openlaszlo.org/openlaszlo/trunk
>>
>> Summary: review comments on r14937
>>
>> Bugs Fixed:
>> LPP-8479 Debug.evalCarefully not necessary after LPP-8222 (review  
>> comments)
>> LPP-7176 SWF9: Make Debug.bugReport work in swf9
>> LPP-8535 WEB-INF/lps/lfc/buildlfcbacktrace needs to be updated for  
>> swf9/10
>>
>> Technical Reviewer: [email protected] (pending)
>> QA Reviewer: hminsky (pending)
>>
>> Release Notes:
>>    Debug.bugReport can now be used to generate bug reports on the
>>    swf10 platform
>>
>> Details:
>>    buildlfc*:  Update to use uniform options for swf9/10 now that
>>    backtracing works.
>>
>>    LzMessage:  Revise how internal frames are hidden in backtraces.
>>    Capture the full backtrace, then rename the internal frames to
>>    'internal offsets' and adjust the length of the backtrace so only
>>    the interesting frames are displayed.  Turn on
>>    showInternalProperties to inspect the full backtrace, but that
>>    should only be needed when debugging backtrace.  Set the confident
>>    line marker when the passed in line matches the backtrace line.
>>    Don't cast LzSourceMessage argument to a string, LzMessage will do
>>    the right thing, and then the object will also be inspectable.
>>
>>    LzDebug:  Hide events that are only 'declared' -- it makes
>>    inspecting of views less cluttered.  Only print frame context when
>>    it is non-null.
>>
>>    LzCompiler:  Rebind global $reportException in AS3
>>
>>    debugger/Library:  Clean up includes now that backtrace works in
>>    all platforms.
>>
>>    LzDebugStub:  Don't turn off debug/backtrace here.
>>
>>    LzDebugStub, LzBootstrapDebugService: Don't unpack error here,
>>    just pass it through, so it can be inspected.
>>
>>    JavascriptGenerator, CodeGenerator:  Save stack frame arguments as
>>    a plist of name/value for better debugging.
>>
>>    SWF9External:  Turn on Flex debug compile if nameFunctions is on.
>>
>>    CodeGenerator:  Move analysis so that it matches
>>    JavascriptGenerator and only analyzes original body, not
>>    annotations.  Don't record `this` for static method calls.
>>
>>    lztest/xmlequals:  Update to match lzunit/xmlequals
>>
>> Tests:
>>    Debug.bugReport works in swf9/10.  Smokecheck with backtrace.
>>    test/lpp-8222 passes and backtraces look reasonable (except for
>>    LPP-8536)
>>
>> Files:
>> M      WEB-INF/lps/lfc/buildlfcbacktrace
>> M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
>> M      WEB-INF/lps/lfc/debugger/LzDebug.lzs
>> D      WEB-INF/lps/lfc/debugger/platform/swf9/LzBacktrace.as
>> M      WEB-INF/lps/lfc/debugger/LzCompiler.lzs
>> M      WEB-INF/lps/lfc/debugger/Library.lzs
>> M      WEB-INF/lps/lfc/buildlfcdebug
>> M      WEB-INF/lps/lfc/build.xml
>> M      WEB-INF/lps/lfc/buildlfcprofile
>> M      WEB-INF/lps/lfc/compiler/LzDebugStub.lzs
>> M      WEB-INF/lps/lfc/compiler/LzBootstrapDebugService.lzs
>> M      WEB-INF/lps/lfc/buildlfcprofiledebug
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/ 
>> JavascriptGenerator.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
>> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
>> M      lps/components/lztest/xmlequals.lzx
>>
>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20091005-ptw-u.tar
>>


_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to