2013-04-11 70 views
1

我以前在控制台窗口中看到过所有“未定义”,但我可以弄清楚它的含义。这一次,我在CollectionEvent (super(type, bubbles, cancelable);的构造函数的开始行中找到它)。我认为这是由写入XMLListCollection引发的。似乎没有任何关于它的未定义 - 指针看起来不错,所有参数也都这样。它有一个相当大的堆栈跟踪,但没有关于什么是未定义的有用信息。我如何进入下一个调试步骤?如何从Flash Builder(Flex 3.5)获取比“undefined”更好的信息?

undefined 
    at mx.events::CollectionEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\events\CollectionEvent.as:116] 
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1245] 
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] 
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] 
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] 
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] 
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] 
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] 
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] 
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] 
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] 
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] 
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] 
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] 
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] 
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] 
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] 
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] 
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] 
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] 
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] 
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] 
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] 
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] 
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] 
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] 
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] 
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] 
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] 
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] 
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] 
    at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] 
    at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] 
    at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] 
    at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] 
    at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] 
    at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] 
    at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] 
    at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] 
    at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] 
    at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
+2

将一个断点UMTAControl.as的79行,然后点击“进入”了很多。要小心检查事物的每一步 – JeffryHouser 2013-04-11 15:25:29

+0

我认为在这种情况下未定义的是实际的错误信息。通常,在堆栈跟踪中,这是错误文本的位置。按照上面的建议,您甚至可以将断点设置为在AddressNode.as第192行的堆栈跟踪中稍高一点虽然这一切看起来都很奇怪,但不确定代码是多么有帮助。 – 2013-04-11 16:48:44

+1

这么多重复的行。某种类型的XML递归......或者“堆栈溢出” ?但是,你很幸运有堆栈跟踪,调试adt崩溃是莫大的再...有趣。 – user1875642 2013-04-11 17:14:01

回答

0

这是正确的“不确定”的其他情况下都是由于无限递归导致堆栈溢出(即给出了深思熟虑的反馈,而不是那种)。

我想象到这些回调与MFC模型类似,消息排队,只有当应用程序开发人员的代码完成执行时才处理(我认为重复消息有时可能已合并)。很明显,这不是发生了什么 - 正在进行更改,并立即执行回调。我想我将无法可靠地检测更改此XMLListCollection :(

谢谢你们