approved.
I still see the "undefined" slot printed out when inspecting the error, but
it doesn't prevent the user from seeing the backtrace
«LzError(128)#3| @../../foundation/restricted/DefinitionLoader.lzx#137:
TypeError: Error #1010: A term is undefined and has no …» {
backtrace: «Backtrace(26)| loadRegistryFile <- getDefinitionNode <-
getDefinition <- handle oninit <- sendEvent <- __LZcallInit <- __LZc…»
file: '../../foundation/restricted/DefinitionLoader.lzx'
length: 128
line: 137
message: 'TypeError: Error #1010: A term is undefined and has no
properties.'
undefined: Error: ReferenceError: Error #… computing description
}
«LzError(128)#3| @../../foundation/restricted/DefinitionLoader.lzx#137:
TypeError: Error #1010: A term is undefined and has no properties.»
lzx> Debug.inspect(«Backtrace(26)| loadRegistryFile <- getDefini…»)
«Backtrace(26)#5| loadRegistryFile <- getDefinitionNode <- getDefinition <-
handle oninit <- sendEvent <- __LZcallInit <- __LZc…» {
length: 26
undefined: (void 0)
0: sendEvent @lfc/events/LaszloEvents.lzs#627
1: checkQ @lfc/services/LzInstantiator.lzs#250
2: makeSomeViews @lfc/services/LzInstantiator.lzs#314
3: __LZinstantiationDone @lfc/views/LaszloCanvas.lzs#732
On Wed, Dec 1, 2010 at 1:59 PM, P T Withington <[email protected]> wrote:
> Change ptw-20101130-MEn by [email protected] on 2010-11-30 14:08:04 EST
> in /Users/ptw/OpenLaszlo/trunk-3
> for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: Be more careful in Debug.inspect
>
> Bugs Fixed: LPP-9553 Inspecting a Backtrace in SWF10 gets error when
> printing to debug console
>
> Technical Reviewer: [email protected], [email protected](pending)
> QA Reviewer: [email protected] (pending)
>
> Overview:
>
> LzDebug:
>
> Always assign an id to objects that get abbreviated by
> __String, so they can be inspected.
>
> Move the slot-dereference from inspectInternal to
> computeSlotDescription (which is already guarded). Don't return
> slots that can't be named.
>
> swf9/LzDebug:
>
> Put a wrapper around flash.utils.describeType to keep it from
> blowing up the debugger if built-in prototype's have been munged.
> Print a debug-level message when that happens (but just once).
> Use that everywhere describeType was being used.
>
> In objectOwnProperties, if the object is a JS Error object and a
> stack trace is available, add it as a property, so it is more
> obvious to the user.
>
> Tests:
>
> Henry will test against the gigantic test case he has that is to
> large to fit in the margins of this note.
>
> Files:
> M WEB-INF/lps/lfc/debugger/LzDebug.lzs
> M WEB-INF/lps/lfc/debugger/platform/swf9/LzDebug.as
>
> Changeset:
> http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101130-MEn.tar
>
--
Henry Minsky
Software Architect
[email protected]