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