Does the code alter built-in prototypes like Object.prototype or
Array.prototype? For example try to evaluate the following function in
the debugger, it will also trigger the TypeError "#1010".
(function(){ Array.prototype.a=void 0; try { Debug.inspect({}); }
finally { delete Array.prototype.a; } })()
On 11/30/2010 11:01 PM, P T Withington wrote:
Hey, I just noticed that the backtrace has a slot named 'undefined' too, and it
has an undefined value.
I wonder if it is something about the app that has made the debugger decide
that every object has a slot named 'undefined'?
LzError is not a dynamic class, so it will give an error if you try to access a
slot that does not exist, whereas LzBacktrace is dynamic, so a reference to a
non-existent slot will just return `undefined` [which we print `(void 0)`].
On 2010-11-30, at 15:52, Henry Minsky wrote:
That is an improvement, the backtrace from the error is
clickable/inspectable now.
But do you have any idea what that "undefined: Error.." means when I inspect
the LzError object ?
lzx> Debug.inspect(«LzError(128)| @../../foundation/restricted/D…»)
«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
4: __LZcallInit @lfc/views/LaszloCanvas.lzs#801
5: sendEvent @lfc/events/LaszloEvents.lzs#627
6: handle oninit @ManagementCenter.lzx#256
7: startApp @ManagementCenter.lzx#145
8: $lzc$class_wcfMainWorkbench @#34
9: $lzc$class_basecomponent @#446
10: LzView @lfc/views/LaszloView.lzs#51
11: LzNode @lfc/core/LzNode.lzs#351
12: createChildren @lfc/core/LzNode.lzs#1440
13: createImmediate @lfc/services/LzInstantiator.lzs#336
14: makeSomeViews @lfc/services/LzInstantiator.lzs#314
15: __LZinstantiationDone @lfc/views/LaszloView.lzs#555
16: __LZinstantiationDone @lfc/core/LzNode.lzs#1084
17: __LZcallInit @lfc/core/LzNode.lzs#1135
18: __LZcallInit @lfc/core/LzNode.lzs#1135
19: __LZcallInit @lfc/core/LzNode.lzs#1135
20: __LZcallInit @lfc/core/LzNode.lzs#1160
21: sendEvent @lfc/events/LaszloEvents.lzs#627
22: handle oninit @ApplicationMenu.lzx#195
23: getDefinition @../../foundation/restricted/DefinitionLoader.lzx#266
24: getDefinitionNode
@../../foundation/restricted/DefinitionLoader.lzx#234
25: loadRegistryFile @../../foundation/restricted/DefinitionLoader.lzx#137
}
«Backtrace(26)#5| loadRegistryFile<- getDefinitionNode<- getDefinition<-
handle oninit<- sendEvent<- __LZcallInit<- __LZcallInit<- __LZcal…»
lzx>
On Tue, Nov 30, 2010 at 3:18 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] (pending)
QA Reviewer: [email protected] (pending)
Overview:
Move the slot-dereference from inspectInternal to
computeSlotDescription (which is already guarded).
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
Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101130-MEn.tar
--
Henry Minsky
Software Architect
[email protected]